新项目技术栈落地(四)——配置中心选择

原创
2019/03/21 10:12
阅读数 1.2K

一、为什么选择配置中心

1.项目改为微服务形式了所以用配置中心是必然

2.如果不用配置中心,配置文件会随着环境的改变和项目的增多而导致管理起来很麻烦

如图是之前的配置文件:

首先每个微服务有多个环境配置信息,然后同时又有N个微服务,如果其中一个IP或者配置改变,那么所有项目都要改,这个工作量可想而知。而用了配置中心所有配置都在服务端,配置更改可以通知到每个服务中,这就使得维护配置变得非常简单。

例如现在的配置如图:

配置中心管理后台如图:

 

二、如何选择适合我们的配置中心

目前市面上用的比较多的配置中心有:(按开源时间排序)

Disconf
2014年7月百度开源的配置管理中心,同样具备配置的管理能力,不过目前已经不维护了,最近的一次提交是两年前了。

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

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

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

根据网络资料查询对比几款配置中心的区别如下:

其实说白了配置中心要满足以下几个核心点功能:

1. 客户端能通过一定方式从配置中心获取到相应配置

    (Nacos支持springboot,可以用注解注入属性或者配置文件,使用DataId区分配置)

2. 配置中心的配置改动能被客户端监听并且获取改动值

    (Nacos使用长连接方式监听服务端数据改动)

3. 配置中心应该支持数据持久化,防止数据丢失

    (Nacos支持mysql数据库存储配置)

4. 配置中心作为所有应用的配置核心点应该支持高可用部署

    (Nacos支持集群部署,并通过域名 + VIP模式提高稳定性和灵活性)

5. 配置中心应当提供环境隔离功能

    (Nacos可以通过“命名空间”区分环境)

    通过以上考虑选择Nacos比较合适,Nacos基本能满足我们的需求,并且Nacos脱胎于阿里云的的商业化配置中心ACM,目前由阿里巴巴主导维护,项目比较火热,能够支持使用者反馈。

 

参考文档:

主流微服务配置中心对比

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部