首页 > 解决方案 > 用于多个分布式 .net 服务的单一集中配置设置存储

问题描述

目标:我们的应用程序由分布在多个服务器上的微服务架构组成(使用本地 Service Fabric 构建)。我们希望有一个集中的地方来存储配置设置,如连接字符串、入口点等。此设置不会因一个服务实例而异,这意味着我们不必将它与服务一起存储,而是更喜欢有一个集中存储,可以在其中动态更新此设置,并由所有服务获取而无需重新部署。编辑此设置的用户友好界面很不错,但不是很有必要,我们可以在最坏的情况下使用简单的记事本。存储设置的格式可以是 xml、json 或任何其他支持分层数据结构的格式。

问题:Service Fabric 是否提供了一些开箱即用的东西来帮助我们?如果没有,是否有任何第三方 .net 工具,或者我们必须从头开始构建“存储、存储库和 api”?

我试着搜索了一些这样的框架,但在市场上没有找到任何东西,在 SF 中也没有找到,也许我只是知道这种东西是如何命名的。

标签: .netconfigurationazure-service-fabric

解决方案


您正在寻找的是配置服务,互联网上有很多可以使用的解决方案,您有几个选择:

  • 使用云解决方案,如Azure KeyVault,在这种情况下,您只需将身份验证详细信息添加到每个环境的服务中,并且所有服务都指向同一个 KeyVault 命名空间。

  • 使用本地解决方案,例如HashiCorp VaultConsul,在这种情况下,您可以将它部署到您的集群并配置您的服务以与之通信

  • 创建您自己的,您将在其中创建作为服务结构服务,沿您的服务部署。老实说,我不推荐这种方法,除非其他服务不提供您的解决方案所需的功能,老实说认为它们非常完整。

还有其他解决方案,但它们几乎都基于这些方法。

关于 Service Fabric 内置解决方案,目前作为 Service Fabric 的一部分没有开箱即用的秘密管理,但路线图中有一个选项,但可能要等到明年 Service Fabric Mesh 发布后才会发布。


推荐阅读