User Tools

Site Tools


config_分布式配置中心

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
config_分布式配置中心 [2018/12/22 08:41]
曹冲 创建
config_分布式配置中心 [2023/03/08 16:09] (current)
xujianglong ↷ Page moved from 内部资料:config_分布式配置中心 to config_分布式配置中心
Line 1: Line 1:
-spring cloud config 统一管理微服务配置 +====== spring cloud config 统一管理微服务配置 ====== 
-在微服务架构中,微服务的配置管理一般有以下需求: + 
-  * 集中管理配置。 +在微服务架构中,微服务的配置管理一般有以下需求: * 集中管理配置。 * 不同环境,不同配置。 * 运行期间可动态调整。 * 配置修改后可自动更新。 spring cloud config 为分布式系统外部化配置提供了服务器端和客户端的支持,它包括 config server 和 config client 两部分。 服务端:在启动类上添加注解 @EnableConfigServer,声明这是一个config server(config 服务端)。 客户端:向 config server 中心注册。 下图是服务端和客户端相关配置: {{ :config_server.jpg?nolink&400 |}} {{ :config_server1.jpg?nolink&400 |}} {{ :config_server_4.jpg?nolink&400 |}} {{ :config_client.jpg?nolink&400 |}} {{ :config_client2.jpg?nolink&400 |}} 这样配置后就可以实现每个微服务的配置可以统一从config server中读取,同时可以对一些重要的私密数据加密处理。 
-  * 不同环境,不同配置。 + 
-  * 运行期间可动态调整。 +大家也许会想到如果config server中的配置文件发生改变怎么办?最初的办法就是改完配置文件后重启config server和config client,这样说可以但是繁琐、复杂。解决办法就是使用 spring cloud bus 自动刷新配置,这样就不用重启工程实现不停机刷新配置文件。 * 使用 spring cloud bus 会用到 RabbitMQ、Kafaka 消息中间件,在本文工程用了 RabbitMQ,RabbitMQ 不清楚是什么自行了解。细心的人在上图就已经发现了里面早就整合 spring cloud bus了。 * 变动的配置文件修改后提交到git上,在config server 执行 http:%%//%%localhost:8888/actuator/bus-refresh(必需是post请求) 就可以实现其它使用这个配置文件的服务现实配置文件动态更新。 
-  * 配置修改后可自动更新。 + 
-spring cloud config 为分布式系统外部化配置提供了服务器端和客户端的支持,它包括 config server 和 config client 两部分。 +===== 工程代码 config-server 对应服务端、 admin 对应客户端,自行去查看更详细配置。admin工程是读取config-server工程中admin-server-dev.yml 配置文件,如下图 ===== 
-服务端:在启动类上添加注解 @EnableConfigServer,声明这是一个config server(config 服务端)。 + 
-客户端:+{{ :11.jpg?nolink&400 |}} 
 + 
config_分布式配置中心.1545439308.txt.gz · Last modified: 2021/02/10 21:29 (external edit)