多个分布式 .net 服务的单一集中式配置设置存储
Single centralized configuration settings storage for multiple distributed .net services
目标:我们的应用程序由分布在多个服务器上的微服务架构组成(使用本地 Service Fabric 构建)。我们希望有一个集中的地方来存储配置设置,如连接字符串、入口点等。此设置不会因一个服务实例而异,这意味着我们不必将它与服务一起存储,而是更愿意有一个集中存储,其中可以即时更新此设置,并由所有服务获取而无需重新部署。编辑此设置的用户友好界面很好,但不是很有必要,在最坏的情况下我们可以使用简单的记事本。存储设置的格式可以是 xml、json 或任何其他支持分层数据结构的格式。
问题:Service Fabric 是否提供了一些开箱即用的东西来帮助我们?如果没有,是否有任何第三方 .net 工具,或者我们必须从头开始构建 "storage, repository and api"?
我试着搜索了一下这样的框架,但在市场上和 SF 中都没有找到任何东西,也许我只是知道这种东西是怎么命名的。
据我所知,没有开箱即用的解决方案。我可以建议的是拥有一个单独的有状态服务来充当配置存储(我们称此服务为 - configservice)。
所以您的所有配置都将在此服务中完成。
然后您可以在您的服务中使用 this project 订阅配置更改事件,该事件将由 configservice 在配置更改时发布。
这种方法的优点是 configservice 的实现让您有可能实现您需要的任何功能(计划的配置更新、验证等)。缺点很明显——你需要手动实现它。
希望对您有所帮助。
您正在寻找的是配置服务,互联网上有大量可供使用的解决方案,您有以下几种选择:
使用云解决方案,如Azure KeyVault,在这种情况下,您只需将身份验证详细信息添加到每个环境的服务中,并且所有服务都指向相同的 KeyVault 命名空间。
使用本地解决方案,如HashiCorp Vault or Consul,在这种情况下,您将部署一个它到您的集群并配置您的服务以与其通信
创建您自己的,您可以在其中创建服务结构服务,并随您的服务一起部署。老实说,我不推荐这种方法,除非其他服务不提供您的解决方案所需的功能,老实说他们认为它们非常完整。
还有其他解决方案,但它们几乎都是基于这些方法。
关于 Service Fabric 内置解决方案,目前还没有开箱即用的秘密管理作为 Service Fabric 的一部分,但路线图中有一个选项,但可能不会在 Service Fabric Mesh 获得之前发布明年发布。
目标:我们的应用程序由分布在多个服务器上的微服务架构组成(使用本地 Service Fabric 构建)。我们希望有一个集中的地方来存储配置设置,如连接字符串、入口点等。此设置不会因一个服务实例而异,这意味着我们不必将它与服务一起存储,而是更愿意有一个集中存储,其中可以即时更新此设置,并由所有服务获取而无需重新部署。编辑此设置的用户友好界面很好,但不是很有必要,在最坏的情况下我们可以使用简单的记事本。存储设置的格式可以是 xml、json 或任何其他支持分层数据结构的格式。
问题:Service Fabric 是否提供了一些开箱即用的东西来帮助我们?如果没有,是否有任何第三方 .net 工具,或者我们必须从头开始构建 "storage, repository and api"?
我试着搜索了一下这样的框架,但在市场上和 SF 中都没有找到任何东西,也许我只是知道这种东西是怎么命名的。
据我所知,没有开箱即用的解决方案。我可以建议的是拥有一个单独的有状态服务来充当配置存储(我们称此服务为 - configservice)。
所以您的所有配置都将在此服务中完成。
然后您可以在您的服务中使用 this project 订阅配置更改事件,该事件将由 configservice 在配置更改时发布。
这种方法的优点是 configservice 的实现让您有可能实现您需要的任何功能(计划的配置更新、验证等)。缺点很明显——你需要手动实现它。
希望对您有所帮助。
您正在寻找的是配置服务,互联网上有大量可供使用的解决方案,您有以下几种选择:
使用云解决方案,如Azure KeyVault,在这种情况下,您只需将身份验证详细信息添加到每个环境的服务中,并且所有服务都指向相同的 KeyVault 命名空间。
使用本地解决方案,如HashiCorp Vault or Consul,在这种情况下,您将部署一个它到您的集群并配置您的服务以与其通信
创建您自己的,您可以在其中创建服务结构服务,并随您的服务一起部署。老实说,我不推荐这种方法,除非其他服务不提供您的解决方案所需的功能,老实说他们认为它们非常完整。
还有其他解决方案,但它们几乎都是基于这些方法。
关于 Service Fabric 内置解决方案,目前还没有开箱即用的秘密管理作为 Service Fabric 的一部分,但路线图中有一个选项,但可能不会在 Service Fabric Mesh 获得之前发布明年发布。