Spring Cloud生态的配置服务器最全对比贴
The following article is from IT牧场 Author 周立
周立
读完需要
6分钟速读仅需2分钟
本文从社区活跃度、产品特点、成功案例、产品缺点等维度,全方位对比Spring Cloud Config、Apollo、Nacos、Disconf、Spring Cloud Consul、Spring Cloud Zookeeper等几款Spring Cloud生态的配置服务器,帮助你选择合适的配置服务器。
1
一、Spring Cloud Config
1.1
GitHub地址
https://github.com/spring-cloud/spring-cloud-config ,Star数1178,官方组件,社区较活跃
1.2
开源厂商
Pivotal(Spring官方团队)
1.3
产品特点
遵循Spring Cloud Config的配置管理规范
后端存储支持丰富(支持Git、SVN、MySQL、Vault、本地存储等)
1.4
演示环境
暂无
1.5
成功案例
N多,目前用Spring Cloud的大多团队都是用的Spring Cloud Config
1.6
缺点
没有界面,管理麻烦
没有权限管理
依赖繁多,例如:
如果使用Git作为后端存储,需要搭建GitLab或其他Git服务器集群
如需实现配置批量刷新,需要借助Spring Cloud Bus,依赖Kafka或RabbitMQ
由于依赖太多,集群搭建很麻烦——GitLab、MQ、Config Server本身都得做集群
2
二、Apollo
2.1
GitHub地址
https://github.com/ctripcorp/apollo ,Star数11169,社区很活跃
2.2
开源厂商
携程
2.3
产品特点
概念较为清晰,上手简单
完善的流程、权限控制
界面友好
文档较为丰富
2.4
成功案例
携程、网易蜂巢、中国平安等,更多公司详见https://github.com/ctripcorp/apollo
2.5
演示环境
http://106.12.25.204:8070/
账号/密码:apollo/admin
2.6
缺点
暂未发现
3
三、Nacos
3.1
GitHub地址
https://github.com/alibaba/nacos ,Star数3820,社区非常活跃
3.2
开源厂商
阿里巴巴
3.3
产品特点
目前在Spring Cloud孵化器中孵化,孵化成功后,将成为Spring Cloud官方推荐的组件之一
不仅能做配置管理,也能做注册中心
界面友好
上手简单
文档丰富
3.4
成功案例
阿里巴巴、虎牙直播、工商银行软件开发中心、爱奇艺等,更多公司详见https://github.com/alibaba/nacos/issues/273
3.5
演示环境
http://console.nacos.io/nacos/index.html
3.6
缺点
暂未发现明显缺点
4
四、Disconf
4.1
GitHub地址
https://github.com/knightliao/disconf ,Start数4505,社区活跃度一般
4.2
开源厂商
原百度员工,现在蚂蚁金服
4.3
产品特点
界面良好
部署简单
4.4
成功案例
百度、滴滴出行、顺丰、网易等,更多公司详见https://github.com/knightliao/disconf
4.5
缺点
最新的版本发布于两年前,有点久了。
5
五、Spring Cloud Consul
5.1
GitHub地址
https://github.com/spring-cloud/spring-cloud-consul ,Star数493,官方组件,社区较活跃
5.2
开源厂商
Pivotal(Spring官方团队)
5.3
产品特点
有个还算将就的界面
使用较为简单
遵循Spring Cloud Config的配置管理规范
不仅能做配置管理,也能做注册中心
5.4
成功案例
暂未发现
5.5
演示环境
暂无
5.6
缺点
没有权限管理
管理界面不够友善
要想用得好,得了解Spring Cloud Config管理规范
6
六、Spring Cloud Zookeeper
6.1
GitHub地址
https://github.com/spring-cloud/spring-cloud-zookeeper ,Star数330,官方组件,社区较活跃
6.2
开源厂商
Pivotal(Spring官方团队)
6.3
产品特点
使用较为简单
遵循Spring Cloud Config的配置管理规范
不仅能做配置管理,也能做注册中心
6.4
演示环境
暂无
6.5
成功案例
暂未发现
6.6
缺点
无界面
无权限管理
要想用得好,得了解Spring Cloud Config管理规范
7
其他
如果使用的是Spring Cloud Kubernetes,或者将Spring Cloud应用部署在Kubernetes环境中,还可以选择ConfigMap,这种方式就笔者了解,业界这么玩的还不多,暂时不分析了。已经将Spring Cloud Kubernetes列入博客19年更新名单中了,敬请期待。
8
结论
Spring Cloud Config不太好用,需要制作一个界面,才能更好地帮助我们管理配置;
Nacos或者Apollo是笔者现在眼中的首选,功能完备、上手简单、傻瓜化操作、并且目前维护比较给力;
Consul也可以作为一个选择,但国内用Consul做配置管理的公司还没发现,并且Consul是Go语言编写的,如果选用,得有Hold住它的能力——尽管Consul很稳定。
9
本文首发
http://www.itmuch.com/spring-cloud-sum/spring-cloud-config-serer-compare/
关注公众号
点击原文阅读更多