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

1、为何选择配置中心mysql

1.项目改成微服务形式了因此用配置中心是必然spring

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

如图是以前的配置文件:数据库

首先每一个微服务有多个环境配置信息,而后同时又有N个微服务,若是其中一个IP或者配置改变,那么全部项目都要改,这个工做量可想而知。而用了配置中心全部配置都在服务端,配置更改能够通知到每一个服务中,这就使得维护配置变得很是简单。springboot

例如如今的配置如图:网络

配置中心管理后台如图:微服务

 

2、如何选择适合咱们的配置中心阿里云

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

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,目前由阿里巴巴主导维护,项目比较火热,可以支持使用者反馈。

 

参考文档:

主流微服务配置中心对比

相关文章
相关标签/搜索