目前市场上常用的配置中心有Spring Cloud Config、Apollo、disconfi及Nacos,每个中间件的能力相似,又存在部分偏差,我直接用的排除法
在这里插入图片描述

  • Spring Cloud Config已经不维护了,所以第一个排除
  • 至于disconf
    在这里插入图片描述
    很久都不维护了,如果用过的还好,我没用过。

说实话,剩下的就是Nacos了,看看功能点:

功能点Spring Cloud ConfigApolloNacos
开源时间2014.92016.52018.6
配置实时推送支持(基于Spring Cloud Bus)支持(Http长轮询1s内)支持(Http长轮询1s内)
版本管理支持支持支持
配置回滚支持支持支持
灰度发布支持支持支持
权限管理支持支持(细)支持(较粗)
多集群支持支持支持
多环境支持支持支持
监听查询支持支持支持
多语言只支持javaGo、C++、Python、PHP、Java、.Net、OpenAPIPython、CPP、Java、NodeJs、OpenAPI
多语言只支持javaGo、C++、Python、PHP、Java、.Net、OpenAPIPython、CPP、Java、NodeJs、OpenAPI
单机部署Config-Server+Git+MQ(部署复杂)Config(2)+Admin(2)+Portal(2)+Mysql(部署复杂)Nginx+Nacos(3)+Mysql(部署简单)
配置格式校验不支持支持支持
通信协议Http和AMQP数据库模拟消息队列,Apollo定时读消息Http异步通知
单机读/9k15k
单机写/1.1k1.8k
3节点读/27k45k
3节点写/3.3kk56k

根据以上标注,Nacos不存在比较大的短板,唯一的短板可能就是权限粒度不是非常细,其他的长处很多,比如部署简单,性能好等,由于我使用的是Spring Cloud Alibaba,本身Nacos就是Alibaba的,所以最终选择就是Nacos做为配置中心

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐