本文是Spring Cloud专栏的第十一篇文章,了解前十篇文章内容有助于更好的理解本文:
一、前言
将配置中心服务端做成一个微服务,将其集群化,从而达到高可用,当你部署了多个Config Server实例并预期一个或多个实例不时不可用时,为确保高可用性,你可以指定多个URL(作为spring.cloud.config.uri属性下的逗号分隔列表),也可以让所有实例在Eureka等Service Registry中注册(如果使用发现优先Bootstrap模式)。注意:只有在Config Server未运行时(即应用程序已退出时)或发生连接超时时,才能确保高可用性,例如:如果Config Server返回500(内部服务器错误)响应或Config Client从Config Server收到401(由于凭据错误或其他原因),则Config Client不会尝试从其他URL获取属性,这种错误表示用户问题而不是可用性问题。
上一篇文章《》讲述了一个服务如何从配置中心读取文件,上一篇案例只是通过client直接访问server,地址直接写死,这种方式显然不够灵活,当服务实例很多时,都从配置中心读取文件,如果配置中心服务端地址变动的话,那我们所有的服务都启动不起来了,都需要变更配置中心服务端地址,特别麻烦,由于微服务使用了注册中心,以及注册中心的优点等,我们可以结合Eureka注册中心,将配置中心做成微服务,将其集群化部署,达到配置中心的高可用,架构图如下:
二、改造配置中心服务端1、添加注册中心客户端依赖