文档章节

Spring Cloud生态的配置服务器最全对比贴

周立_ITMuch
 周立_ITMuch
发布于 01/30 10:12
字数 1100
阅读 1226
收藏 41

本文从社区活跃度、产品特点、成功案例、产品缺点等维度,全方位对比Spring Cloud Config、Apollo、Nacos、Disconf、Spring Cloud Consul、Spring Cloud Zookeeper等几款Spring Cloud生态的配置服务器,帮助你选择合适的配置服务器。

一、Spring Cloud Config

GitHub地址

https://github.com/spring-cloud/spring-cloud-config ,Star数1178,官方组件,社区较活跃

开源厂商

Pivotal(Spring官方团队)

产品特点

  • 遵循Spring Cloud Config的配置管理规范
  • 后端存储支持丰富(支持Git、SVN、MySQL、Vault、本地存储等)

演示环境

暂无

成功案例

N多,目前用Spring Cloud的大多团队都是用的Spring Cloud Config

缺点

  • 没有界面,管理麻烦
  • 没有权限管理
  • 依赖繁多,例如:
    • 如果使用Git作为后端存储,需要搭建GitLab或其他Git服务器集群
    • 如需实现配置批量刷新,需要借助Spring Cloud Bus,依赖Kafka或RabbitMQ
  • 由于依赖太多,集群搭建很麻烦——GitLab、MQ、Config Server本身都得做集群

二、Apollo

GitHub地址

https://github.com/ctripcorp/apollo ,Star数11169,社区很活跃

开源厂商

携程

产品特点

  • 概念较为清晰,上手简单
  • 完善的流程、权限控制
  • 界面友好
  • 文档较为丰富

成功案例

携程、网易蜂巢、中国平安等,更多公司详见https://github.com/ctripcorp/apollo

演示环境

http://106.12.25.204:8070/

账号/密码:apollo/admin

缺点

暂未发现

三、Nacos

GitHub地址

https://github.com/alibaba/nacos ,Star数3820,社区非常活跃

开源厂商

阿里巴巴

产品特点

  • 目前在Spring Cloud孵化器中孵化,孵化成功后,将成为Spring Cloud官方推荐的组件之一
  • 不仅能做配置管理,也能做注册中心
  • 界面友好
  • 上手简单
  • 文档丰富

成功案例

阿里巴巴、虎牙直播、工商银行软件开发中心、爱奇艺等,更多公司详见https://github.com/alibaba/nacos/issues/273

演示环境

http://console.nacos.io/nacos/index.html

缺点

暂未发现明显缺点

四、Disconf

GitHub地址

https://github.com/knightliao/disconf ,Start数4505,社区活跃度一般

开源厂商

原百度员工,现在蚂蚁金服

产品特点

  • 界面良好
  • 部署简单

成功案例

百度、滴滴出行、顺丰、网易等,更多公司详见https://github.com/knightliao/disconf

缺点

最新的版本发布于两年前,有点久了。

五、Spring Cloud Consul

GitHub地址

https://github.com/spring-cloud/spring-cloud-consul ,Star数493,官方组件,社区较活跃

开源厂商

Pivotal(Spring官方团队)

产品特点

  • 有个还算将就的界面
  • 使用较为简单
  • 遵循Spring Cloud Config的配置管理规范
  • 不仅能做配置管理,也能做注册中心

成功案例

暂未发现

演示环境

暂无

缺点

  • 没有权限管理
  • 管理界面不够友善
  • 要想用得好,得了解Spring Cloud Config管理规范

六、Spring Cloud Zookeeper

GitHub地址

https://github.com/spring-cloud/spring-cloud-zookeeper ,Star数330,官方组件,社区较活跃

开源厂商

Pivotal(Spring官方团队)

产品特点

  • 使用较为简单
  • 遵循Spring Cloud Config的配置管理规范
  • 不仅能做配置管理,也能做注册中心

演示环境

暂无

成功案例

暂未发现

缺点

  • 无界面
  • 无权限管理
  • 要想用得好,得了解Spring Cloud Config管理规范

其他

如果使用的是Spring Cloud Kubernetes,或者将Spring Cloud应用部署在Kubernetes环境中,还可以选择ConfigMap,这种方式就笔者了解,业界这么玩的还不多,暂时不分析了。已经将Spring Cloud Kubernetes列入博客19年更新名单中了,敬请期待。

结论

  • Spring Cloud Config不太好用,需要制作一个界面,才能更好地帮助我们管理配置;
  • Nacos或者Apollo是笔者现在眼中的首选,功能完备、上手简单、傻瓜化操作、并且目前维护比较给力;
  • Consul也可以作为一个选择,但国内用Consul做配置管理的公司还没发现,并且Consul是Go语言编写的,如果选用,得有Hold住它的能力——尽管Consul很稳定。

本文首发

http://www.itmuch.com/spring-cloud-sum/spring-cloud-config-serer-compare/

© 著作权归作者所有

共有 人打赏支持
周立_ITMuch
粉丝 141
博文 94
码字总数 93996
作品 1
南京
私信 提问
加载中

评论(4)

马力-随行付
马力-随行付
还有一个基于Spring CLoud Config的配置中心ConfigKeeper:https://gitee.com/sxfad/config-keeper
hotsmile
hotsmile
未来害死k8s的天下
我叫金正恩
我叫金正恩
放弃吧,未来几年k8s才是微服务的未来,如果是spring的忠粉那就做好spring单体应用即可.
就像风
就像风
😤 好像没有 #DuiC# 嘛。https://github.com/zhudyos/duic
Spring Cloud启动应用时指定IP或忽略某张网卡配置

说明:分布式应用部署到服务上,由于服务器可能存在多张网卡,造成IP地址不准的问题。 解决方法: 1、直接添加忽略某张网卡的配置: spring.cloud.inetutils.ignored-interfaces[0]=eth0 # ...

easonjim
2018/02/09
0
0
(十七)JAVA springcloud ssm b2b2c多用户商城系统-上传文件

这篇文章主要介绍,如何在springboot工程作为服务器,去接收通过http 上传的multi-file的文件。 构建工程 为例创建一个springmvc工程你需要spring-boot-starter-thymeleaf和 spring-boot-st...

sccspuercode
01/31
0
0
Nacos发布 v0.2 版本,无缝支持 Spring Cloud 微服务生态及高可用集群模式

近日,阿里巴巴新开源项目Nacos 发布了 v0.2 版本,该版本开始支持完整的Spring生态技术栈,这包括 Spring Framework、Spring Boot和Spring Cloud。 为了让更多的Spring用户可以在生产上基于...

中间件小哥
2018/09/28
0
0
(十七)Java B2B2C多用户商城 springboot架构-上传文件

这篇文章主要介绍,如何在springboot工程作为服务器,去接收通过http 上传的multi-file的文件。 构建工程 为例创建一个springmvc工程你需要spring-boot-starter-thymeleaf和 spring-boot-st...

01/23
0
0
Spring Boot与Spring Cloud是什么关系?

SpringBoot先于Spring Cloud问世。 SpringBoot相当于脚手架,借助他可以快速搭建房子,它本身不具备任何功能属性,值是普通房间,没有其他任何功能。 什么是Spring Boot Spring Boot简化了基...

远方的梦Java
2018/08/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Httpd 整合 Tomcat 步骤

环境:Tomcat8 + Httpd2.4 工作原理:借助于Tomcat的AJP连接器实现Apache与Tomcat的通信 配置步骤: 1. 配置httpd.conf 新增: Include conf/extra/mod_jk.conf 修改:添加 index.jsp <IfM...

ZeroneLove
昨天
1
0
Docker笔记3——容器命令(未写完,明天整理接着写)

未写完,明天整理接着写 新建并启动容器 docker run docker run [OPTIONS] IMAGE [COMMEND] [ARG...] OPTIONS: --name=[容器新名字] :为容器指定一个名称 -d:后台运行容器,并返回容器ID,...

HappyBKs
昨天
1
0
2018个人年终总结

感谢领导的信任和指导,新的一年获得了很多成长和提高,改掉了很多不好的习惯。 在这一年里,我在领导的帮助下,主要完成了以下功能: 1、完成上海银行版本投资营销相关功能的开发。 2、完成车...

万山红遍
昨天
11
0
保密工作与linux系统的发展

保密工作从性质上可以分成商业方面的保密和国家安全方面的保密。由于自己从事的是IT方面的工作,工作中必然会接触涉及到计算机信息方面的相关文件。加上单位已近通过武器装备科研生产单位二级...

linux-tao
昨天
3
0
Spark共享变量

概述 Spark程序的大部分操作都是RDD操作,通过传入函数给RDD操作函数来计算。这些函数在不同的节点上并发执行,但每个内部的变量有不同的作用域,不能相互访问,所以有时会不太方便,Spark提...

仟昭
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部