集中配置管理作为服务结构中的微服务

时间:2017-03-23 14:33:16

标签: azure-service-fabric

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

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

在我看来,你的想法很有趣也很正确。是的,建议对每项服务进行自己的配置,但我不会对所有设置都这样做。选择并使用自己的头。就你想要实现的目标而言,我已经通过使用Azure Key Vault秘密解决了这个问题(如果你在Azure中运行的话)。有关服务说明的详细信息,请参阅https://docs.microsoft.com/en-us/rest/api/keyvault/about-keys--secrets-and-certificates#BKMK_WorkingWithSecrets。您可以对秘密进行版本控制,过期,更新和删除,这些秘密基本上是键值对,即设置。除此之外,它还具有企业级安全性并始终可用。

现在你想要更进一步,让它变得更好,得到一个强大的类型配置库,例如https://github.com/aloneguid/config已经有一个AKV的提供者https://github.com/aloneguid/config/blob/master/doc/Stores_AzureKeyVault.md

答案 2 :(得分:0)

有一个项目可以完全做到这一点-Microconfig.IO 它旨在通过专用的简单模板管理微服务配置,并具有用于分发配置的服务器。