Spring Cloud 统一配置中心(一)
2018-12-20 本文已影响0人
codingJanson
本文会带大家来了解Spring cloud config这个组件,首先,先带来一个问题。我们用这个组件的目的是什么呢?这么多人用,肯定是有原因的嘛。存在即合理。
一.为什么需要统一配置中心?
如果不使用统一配置中心,会带来很多问题,比如:
1.不方便维护
假如一个服务,由多人开发,其中a在开发的时候,修改了配置,b来开发的时候,需要测试别的一些功能,这个时候配置文件已经被a修改得面目全非了,这就造成了冲突。
2.配置内容的安全与权限
公司项目线上的配置基本是不对开发公开的,特别是数据库的账号密码这种,基本是只有运维才知道,把配置放在项目里面的话,每个开发人员都能看到,这种情况就需要对配置文件进行隔离。
3.更新配置项目需要重启
线上更新配置是经常发生的事情,比如更新一点小小的配置,难道都需要重启吗?使用spring cloud config就可以解决这一点。
二、如何搭建统一配置中心
配置中心到时候也会作为一个服务,这些配置,为了方便管理,我们都把它放到git上,使用git控制起来会比较方便。如下图所示:(说明:箭头代表数据流动的方向)
最开始呢,我们是把配置放在远端的git,如gitlab,github或者自己搭建的私服。config-server把配置从远端git拉下来之后,放到本地git。config-server与本地git之间是双向流动的。既会把远端的git放到本地中,假如远端git不能访问了,也会从本地git把配置拉出来,拿到配置之后,就可以给微服务来使用。product和order这两个服务,需要集成config-client这个组件。这就是统一配置中心整体的架构,