This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
config_分布式配置中心 [2018/12/22 09:23] 曹冲 |
config_分布式配置中心 [2023/03/08 16:09] (current) xujianglong ↷ Page moved from 内部资料:config_分布式配置中心 to config_分布式配置中心 |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | # spring cloud config 统一管理微服务配置 | + | ====== |
- | 在微服务架构中,微服务的配置管理一般有以下需求: | + | |
- | * 集中管理配置。 | + | |
- | * 不同环境,不同配置。 | + | |
- | * 运行期间可动态调整。 | + | |
- | * 配置修改后可自动更新。 | + | |
- | spring cloud config 为分布式系统外部化配置提供了服务器端和客户端的支持,它包括 config server 和 config client 两部分。 | + | |
- | * 服务端:在启动类上添加注解 @EnableConfigServer,声明这是一个config server(config 服务端)。 | + | |
- | * 客户端:向 config server 中心注册。 | + | |
- | 下图是服务端和客户端相关配置: | + | |
- | {{ : | + | |
- | {{ : | + | |
- | {{ : | + | |
- | {{ : | + | |
- | {{ : | + | |
- | 这样配置后就可以实现每个微服务的配置可以统一从config server中读取,同时可以对一些重要的私密数据加密处理。 | + | |
- | 大家也许会想到如果config server中的配置文件发生改变怎么办?最初的办法就是改完配置文件后重启config server和config client,这样说可以但是繁琐、复杂。解决办法就是使用 spring cloud bus 自动刷新配置,这样就不用重启工程实现不停机刷新配置文件。 | + | 在微服务架构中,微服务的配置管理一般有以下需求: * 集中管理配置。 * 不同环境,不同配置。 * 运行期间可动态调整。 * 配置修改后可自动更新。 spring cloud config 为分布式系统外部化配置提供了服务器端和客户端的支持,它包括 config server 和 config client 两部分。 * 服务端:在启动类上添加注解 @EnableConfigServer,声明这是一个config server(config 服务端)。 * 客户端:向 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: |
+ | |||
+ | ===== 工程代码 config-server 对应服务端、 admin 对应客户端,自行去查看更详细配置。admin工程是读取config-server工程中admin-server-dev.yml 配置文件,如下图 ===== | ||
- | ## 工程代码 config-server 对应服务端、 admin 对应客户端,自行去查看更详细配置。admin工程是读取config-server工程中admin-server-dev.yml 配置文件,如下图 | ||
{{ : | {{ : | ||
+ | |||
+ |