logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

docker 应用负载均衡解决方案

 项目中使用SpringBoot开发web应用,打包部署采用docker;之前看到通过docker-compose 来扩展容器,通过scale命令来扩展容器:docker-compose scale test-app=4但是试了下发现直接报错了,端口冲突,因为每个docker容器都映射宿主机的8080端口,所以端口冲突了;于是通过这篇文章找到了解决办法,https://deploye...

Redis 消息队列和发布/订阅

上篇文章介绍了Springboot集成redis的用法,这篇文章简单介绍下,Redis作为消息队列和发布订阅的简单的应用;如果系统中需要简单的订阅发布功能而系统中没有mq的话,可以考虑使用Redis;1.订阅/发布在redis-cli中可以使用publish来发布消息,使用subscribe来订阅消息;我们可以进行试验一下,在上篇文章中是使用docker启动了redis服务器的容器,可以启...

Springboot使用docker-compose实现动态配置

Springboot应用在打包的时候我们希望可以在项目启动的时候可以修改application.property或者yml中的配置;而不是在打包docker镜像的时候这个值确定后面不可以修改,这个时候可以通过yml提供的环境变量的功能来实现这个需求;在yml文件中,通过${Envirment_variable}的方式可以获取系统环境变量中的值;于是可以通过把...

SpringBoot+docker环境变量配置

项目中遇到springBoot+docker需要配置不同环境变量的问题,做个简单的总结:1.开发环境ide中启动项目可以通过ide的环境变量参数配置,启动之后使用哪个配置,比如这样就使用application-test.yml中的配置2.通过gradle打包可以通过-P参数来指定打包后的jar使用哪种环境来运行,比如gradlew -Pprod bootWar打包...

docker-compose 容器挂载权限问题

       项目中遇到docker-compose启动springboot的应用,挂载的日志目录没有权限写入的问题;后来查了很多资料,终于有点眉目了,做个记录,希望遇到的朋友少踩点坑~;1.问题描述        项目框架是使用jhipster生成的,现在需要把生成的日志挂载出去,以便查看日志记录;首先修改下logback-spring.xml的配置,将系统生成的日志文件都存放在项目的l...

Spring json忽略空值

jackson:serialization.write_dates_as_timestamps: falsedefault-property-inclusion: non_null

#json
SpringBoot k8s部署

工作中需要将应用部署到k8s的集群上,之前是使用docker来部署的;这里使用service的nodePort的方式来访问;1.Deployment的配置apiVersion: apps/v1kind: Deploymentmetadata:name: powerflownamespace: powerflowspec:replicas: 2selector...

#k8s
k8s常用命令

1>根据关键字查询关键字前后100行kubectl -n namespace logs -f xxxnode | grep -100 '关键字'2>在所有的命名空间查询kubectl get po --all-namespaces | grep xxxx3>查看pod的状态,通常在pod状态异常的时候使用kubectl -n namespace desc...

#k8s
K8s中pv和pvc的使用

在我们的应用中可能经常有文件存储的需求,在docker的部署中,我们是通过将容器中的目录直接挂载到宿主机的目录上来解决这个问题的,那么k8s部署的方式肯定有所不同,k8s因为是多节点的,每个pod挂载的是对应节点的某个目录,这个会导致节点数据的一致性问题;在k8s中主要通过pvc的方式进行文件的挂载管理;1.PVCPVC 的全称是:PersistentVolumeClaim(...

#k8s
springboot 构建多模块项目

记录下spring boot 多模块项目的设置过程;首先简单说下为啥需要多模块,一个模块分目录行不行,当然可以,但是这样会导致多个团队开发的时候混乱,会有很多冲突;如果根据领域设计将项目按照不同的领域进行划分,后续维护起来会方便很多;对于以后如果进行微服务的拆分也是很方便的,直接将对应的模块迁移成一个单独的服务即可;接下来会用一个简单的项目演示,将springboot的web层,service层,

#spring boot#java#spring
到底了