第六篇: 高可用的分布式配置中心(Spring Cloud Config)

上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git 或 本地读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如下:

一、准备工作

继续使用前面文章的工程(注册中心 leopard-eureka 、服务 leopard-service、配置中心 leopard-config)。

修改 leopard-service 的 bootstrap.properties 配置文件

#服务名称
spring.application.name=leopard-service

#指明远程仓库的分支
spring.cloud.config.label=master

#环境配置文件 dev-开发 test-测试 pro-正式
spring.cloud.config.profile=dev

#指明配置服务中心的网址
#spring.cloud.config.uri= http://localhost:8881/


#是否从配置中心读取文件
spring.cloud.config.discovery.enabled=true

#配置中心的servieId,即服务名
spring.cloud.config.discovery.serviceId=leopard-config

这时发现,在读取配置文件不再写ip地址,而是服务名,这时如果配置服务部署多份,通过负载均衡,从而高可用。(跟测试之前的 fegin 差不多)

二、运行测试

依次启动leopard-eureka、leopard-config、leopard-service

访问注册中心:http://localhost:8761/

访问服务:http://localhost:8081/test/getName

hi leopard,this name is :leopardName

说明不需要通过 IP:port 访问配置中心,可以通过服务名访问获取信息。

只要配置中心配置统一服务名,端口不同依旧可以访问到配置,实现高可用。

文章转载: https://blog.csdn.net/forezp/article/details/81041028

猜你喜欢

转载自blog.csdn.net/u014799292/article/details/83512076