分布式系统解决方案(六)--配置中心的选择

本文对比了SpringCloudConfig、Apollo和Nacos三种配置中心的特性和适用场景。SpringCloudConfig与SpringCloud生态无缝整合,Apollo具备规范的权限和流程治理,Nacos则更适用于大规模高性能场景。

常用的配置中心有:

Spring Cloud Config

2014年9月开源,Spring Cloud 生态组件,可以和Spring Cloud体系无缝整合。

Spring Cloud Config原生不支持配置的实时推送,需要依赖Git的WebHook、Spring Cloud Bus和客户端/bus/refresh端点:

1、基于Git的WebHook,配置变更触发server端refresh

2、Server端接收到请求并发送给Spring Cloud Bus

3、Spring Cloud Bus接到消息并通知给客户端

4、客户端接收到通知,请求Server端获取最新配置

Apollo

2016年5月,携程开源的配置管理中心,具备规范的权限、流程治理等特性。

Apollo分为MySQL,Config Service,Admin Service,Portal四个模块:

1、MySQL存储Apollo元数据和用户配置数据;

2、Config Service提供配置的读取、推送等功能,客户端请求都是落到Config Service上;

3、Admin Service提供配置的修改、发布等功能,Portal操作的服务就是Admin Service;

4、Portal提供给用户配置管理界面;

本地测试Config Service,Admin Service,Portal三个模块可以合并一起部署,MySQL单独安装并创建需要的表结构。在生产环境使用Apollo,Portal可以两个节点单独部署,稳定性要求没那么高的话,Config Service和Admin Service可以部署在一起,数据库支持主备容灾。

Nacos

2018年6月,阿里开源的配置中心,也可以做DNS和RPC的服务发现。

Nacos部署需要Nacos Service和MySQL:

1、Nacos对外提供服务,支持配置管理和服务发现;

2、MySQL提供Nacos的数据持久化存储;

单机模式下,Nacos可以使用嵌入式数据库部署一个节点,就能启动。如果对MySQL比较熟悉,想要了解整体数据流向,可以安装MySQL提供给Nacos数据持久化服务。生产环境使用Nacos,Nacos服务需要至少部署三个节点,再加上MySQL主备。

总结


1、Apollo和Nacos相对于Spring Cloud Config的生态支持更广,在配置管理流程上做的更好。
2、Apollo相对于Nacos在配置管理做的更加全面,不过使用起来也要麻烦一些。
3、apollo容器化较困难,Nacos有官网的镜像可以直接部署,总体来说,Nacos比apollo更符合KISS原则。
4、Nacos部署和使用起来相对比较简洁,在对性能要求比较高的大规模场景更适合。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值