S
S
Spring 实战(第五版)
搜索文档…
S
S
Spring 实战(第五版)
Spring 实战(第 5 版)
第一部分 Spring 基础
第 1 章 Spring 入门
第 2 章 开发 Web 应用程序
第 3 章 处理数据
第 4 章 Spring 安全
第 5 章 使用配置属性
第二部分 集成 Spring
第 6 章 创建 REST 服务
第 7 章 调用 REST 服务
第 8 章 发送异步消息
第 9 章 集成 Spring
第三部分 响应式 Spring
第 10 章 Reactor 介绍
第 11 章 开发响应式 API
第 12 章 响应式持久化数据
第四部分 云原生 Spring
第 13 章 服务发现
第 14 章 配置管理
14.1 共享配置
14.2 运行配置服务器
14.3 消费共享的配置
14.4 服务应用程序和特定配置文件的属性
14.5 为配置的属性加密
14.6 远程刷新配置属性
14.6.1 手动刷新配置属性
14.6.2 自动刷新配置属性
14.7 总结
第 15 章 处理失败和时延
第五部分 部署Spring
第 16 章 使用 SpringBoot Actuator
第 17 章 管理 Spring
第 18 章 使用 JMX 监控 Spring
第 19 章 部署 Spring
由
GitBook
提供支持
14.6 远程刷新配置属性
在我写这一章的时候,我在一架飞机上,这架飞机因为维修问题返航了。这没什么大不了的,因为大家都知道飞机的维修人员会很好的处理这个问题。即便如此,这件事的有趣之处在于,维修飞机必须在地面上进行。飞机在飞行途中没有太多的维修工作可以做。
相比之下,在《星球大战》电影中,如果
卢克·天行者
或
波·达默龙
的 X 战斗机需要维修,那么维修机器人可以随时来解决 这个问题,即使 X 战斗机正在战斗之中。
传统上,应用程序维护(包括配置更改)需要重新部署或至少重新启动应用程序。也就是说即使是进行一个很小的配置调整,应用程序由于缺少一个维修机器人,也需要返航维修。但这对云原生应用来说是不可接受的。我们希望能够动态更改配置属性,甚至应用程序都不需要下线停机。
幸运的是,Spring Cloud Config Server 支持零停机刷新应用程序属性配置的能力。一旦配置修改被推送到后端 Git 存储库或 Vault 加密存储库,每个微服务应用程序都可以立即使用下面的两种方式刷新配置:
手动 —— Config Server 客户端暴露接口
/actuator/refresh
。通过对些接口发送 HTTP POST 请求,强制客户端从 Config Server 后端检索最新的配置。
自动 —— 通过 Git 存储库中的提交钩子触发 Config Server 的所有客户端进行刷新。这涉及到另一个 Spring Cloud Bus 的项目,用于在 Config Server 以及它的客户端之间进行通信。
每种选择都有其利弊。手动刷新可以更精确地控制哪些服务更新为新的配置,但它需要单独的向每个微服务的每个实例发出 HTTP 请求。自动刷新将更新的配置立即应用到所有微服务,这是由配置存储库的提交触发的(可能对某些项目来说这有点不适合)。
让我们看看每个选项。然后再决定在您的项目中使用哪种方式。
以前
14.5.2 在 Vault 中存储密码
下一个
14.6.1 手动刷新配置属性
最近更新
10mo ago
复制链接