xxproject配置点梳理

最近重新学习spring cloud。从教学角度,需要快速搭建一个全家桶似的环境以供演示学习。

在github上搜索良久,发现武汉360的杨军2年前发布的xproject项目非常棒

https://github.com/junneyang/xxproject/tree/1.3.0-RELEASE

该项目综合了ELK日志采集、分析、EUREKA高可用、CONFIG SERVER集中配置管理、zipkin全链路跟踪、RABBITMQ消息队列、REDIS SERVER缓存,API网关……无疑是非常全面的全家桶。

更为可贵的是,该项目提供了全DOCKER容器化的部署方案,这就使该项目不仅适用于程序员学习,还非常适合架构师和运维人员学习在容器化生产环境如何部署微服务项目。其容器化部署方案,则综合采用了DOCKER-COMPOSE的.env配置/yaml部署/自定义networking等容器技术。

因此可以说,该项目不论从学习Spring Cloud微服务开发还是学习容器部署的综合技术,都非常合适。

但是,限于作者本人工作繁忙(这也是所有开源工作者的共同问题),当你下载了项目后,就会发现:按照readme.md操作,项目根本跑不起来,各种坑在等着你。由于该项目涉及的技术从Spring cloud全栈到容器的大量技术,如果没有作者本人指导,可以说初学者很难直接下手。

第一个拦路虎就是:该项目的配置点太多、太分散。所以我在这里将该项目的配置点做一简要梳理:

配置点说明
bootstrap.env

全局配置入口

 

环境变量配置

docker-compose.yaml中的环境变量来自于此

每个容器的环境变量来自于此

每个springboot项目properties中使用的环境变量来自于此

docker-compose.yaml

整体容器配置

使用bootstrap.env的环境变量

每个服务另有单独的配置

整体配置有:

network:所有服务容器共享的自定义网络

volumes:所有服务容器共享的卷

 

xxproject/config/elkdocker-compose.yaml中创建的elk容器使用这里的配置
xxproject/config/1.0.0

各个spring cloud服务,例如eureka等服务的properties文件统一在这里。

在docker-compose.yaml的config-server段,要将config-server的本地文件存储位置指向这里

然后spring cloud的各个服务才能成功从config--server读取到配置

每个项目源码文件夹中

src/main/resources的properties

springboot项目启动时,从resources中的.properties文件读取配置。也可以使用yaml格式。本项目采用的是.properties文件格式。遵循springboot配置文件规范。
其他例如日志等插件采用的独立的配置格式设置等。

了解了配置的位置,就为下一步根据实际情况,调整配置,将该项目的10几个容器逐个调试启动打下了良好基础。后面,我将随着自己的调整进度逐一汇报。

在此,真诚感谢武汉杨军先生开源的此项目。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值