Azure service fabric 作为服务结构中的微服务的集中式配置管理

Azure service fabric 作为服务结构中的微服务的集中式配置管理,azure-service-fabric,Azure Service Fabric,只是想知道是否有人想过/实现一个配置系统作为微服务本身。我认为它将是分布式系统中集中式和外部化配置管理的一个很好的工具。使用configuration microservice,您可以集中管理所有环境中应用程序的外部属性。它需要通过具有加密功能的Http访问(并且可以由客户端解密) 一般来说,集中式配置在分布式系统中是个坏主意,因为不正确地更新单个值(例如:通信证书)可能会突然导致分布式故障。这就是为什么ServiceFabric特别建议服务携带它们自己的配置(在配置包中),并且对配置的更改要像

只是想知道是否有人想过/实现一个配置系统作为微服务本身。我认为它将是分布式系统中集中式和外部化配置管理的一个很好的工具。使用configuration microservice,您可以集中管理所有环境中应用程序的外部属性。它需要通过具有加密功能的Http访问(并且可以由客户端解密)

一般来说,集中式配置在分布式系统中是个坏主意,因为不正确地更新单个值(例如:通信证书)可能会突然导致分布式故障。这就是为什么ServiceFabric特别建议服务携带它们自己的配置(在配置包中),并且对配置的更改要像代码更改一样进行版本控制和推出。这(通常)可以防止错误的配置更改同时影响大多数服务

一般来说,集中式配置在分布式系统中是个坏主意,因为不正确地更新单个值(例如:通信证书)可能会突然导致分布式故障。这就是为什么ServiceFabric特别建议服务携带它们自己的配置(在配置包中),并且对配置的更改要像代码更改一样进行版本控制和推出。这(通常)可以防止错误的配置更改同时影响大多数服务

在我看来,你的想法既有趣又正确。是的,建议在每个服务中使用自己的配置,但我不会在所有设置中都这样做。挑选并使用你自己的头脑。就您试图实现的目标而言,我已经通过使用Azure Key Vault secrets解决了这个问题(如果您在Azure中运行的话)。有关服务说明的更多信息,请参阅。您可以版本、过期、更新和删除本质上是键值对的机密,即设置。除此之外,它是企业级的安全和始终可用


现在,您希望更进一步,让它变得更漂亮,获得一个强类型的配置库,例如,它已经有了一个AKV提供商,我认为您的想法是有趣和正确的。是的,建议在每个服务中使用自己的配置,但我不会在所有设置中都这样做。挑选并使用你自己的头脑。就您试图实现的目标而言,我已经通过使用Azure Key Vault secrets解决了这个问题(如果您在Azure中运行的话)。有关服务说明的更多信息,请参阅。您可以版本、过期、更新和删除本质上是键值对的机密,即设置。除此之外,它是企业级的安全和始终可用


现在,您需要更进一步,让它变得更漂亮,获得一个强类型的配置库,例如,它已经有了一个AKV的提供者,有一个项目可以做到这一点-
它设计用于通过专用的简单模板管理微服务配置,并有一个服务器来分发配置。

有一个项目可以做到这一点-
它设计用于通过专用的简单模板管理微服务配置,并有一个服务器来分发配置。

感谢您的输入!关于不正确的值,甚至对于带有自己配置的服务也可能发生这种情况,并且可能对依赖于该服务的其他服务产生级联故障影响。Spring Cloud Config()为分布式系统中的外部化配置提供此服务。它可以向订阅它的服务广播配置更改事件。它支持外部存储库(如git)作为存储后端,webhook可以配置为推送通知。我认为如果架构和实现良好,这些本地配置和集中配置系统的组合将是一个可靠/持久的解决方案。只是一个想法。服务结构团队在实践中没有观察到这一点。交付配置更改的唯一安全方法是将其视为代码更改,并缓慢地将其推出。这里仅举一个例子,说明快速卷展会导致问题。如果其他人想要构建和使用集中式配置存储,这是可以的,但通常我们只看到它们的使用会带来麻烦,因此将始终建议不要构建和使用它们。感谢您的输入!关于不正确的值,甚至对于带有自己配置的服务也可能发生这种情况,并且可能对依赖于该服务的其他服务产生级联故障影响。Spring Cloud Config()为分布式系统中的外部化配置提供此服务。它可以向订阅它的服务广播配置更改事件。它支持外部存储库(如git)作为存储后端,webhook可以配置为推送通知。我认为如果架构和实现良好,这些本地配置和集中配置系统的组合将是一个可靠/持久的解决方案。只是一个想法。服务结构团队在实践中没有观察到这一点。交付配置更改的唯一安全方法是将其视为代码更改,并缓慢地将其推出。这里仅举一个例子,说明快速卷展会导致问题。如果其他人想要构建和使用集中式配置存储,这是可以的,但通常我们只看到它们的使用会带来麻烦,因此总是建议不要构建和使用它们。