查看原文
其他

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/

推荐: Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

上一篇:Spring Cloud OAuth2 资源服务器CheckToken 源码解析



 关注公众号

点击原文阅读更多


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存