【发布时间】:2020-04-26 12:40:06
【问题描述】:
我正在寻找微服务架构(假设大约有 30 个服务可用),其中包括配置服务,该服务将负责维护剩余 29 个服务的配置。 这样当我更新配置时,它需要相应地广播到所有剩余的 29 个服务。
我看到这个架构(https://dzone.com/articles/dynamic-configuration-management-in-microservice-a)不是动态配置管理,当我在配置文件中进行更改时,它是由 GIT 钩子中的配置服务(Spring Cloud Service)识别的 - 直到这是个好主意
但是然后客户端服务负责从配置服务刷新数据,这里客户端服务如何知道配置改变了?只有配置服务知道来自 GIT Hook 的配置更改。
(即)
1) 用户手动更改 Git 中的配置并提交它
2) GIT HOOK 将配置变更通知给配置服务
预期:
3)那么我觉得配置服务应该通知所有客户端从配置服务更新配置
实际:
3) 相反,我们需要使用 /refresh API 手动触发客户端服务,以便从配置服务更新配置
那么配置服务有没有办法自动将配置更新到客户端服务(即)它将是动态配置管理。
谢谢,
编码器
【问题讨论】:
-
有很多不同的方法可以处理动态配置。您可以使用Hashicorp Vault 或aws parameter store 之类的东西来保留参数。然后,您的应用程序可以确定如何使用它们。这可能是在启动时或在每个请求之前
-
@badger0053 美好的一天,说清楚,当我编辑我的配置文件时,我在其中一个服务(即)配置服务中进行了配置更改,我需要将此广播到其他服务...
标签: java python configuration architecture microservices