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