服务结构 - 更新静态配置文件

Service fabric - Updating static configuration files

我目前是 运行 具有服务结构的本地 3 节点集群。

我有一个有状态服务,它有一个 .csv 文件,其中包含我的服务的复杂配置,我想打开一个 REST 端点来动态更新此配置。

因此,为了同步状态,我可以使用可靠的字典序列化我的 csv 配置并保存它。

我不知道如何做的是确保即使在断电(定义为不可靠的操作)之后,配置也会被保存(因为 CSV 保存在工作目录中而不是在图片商店中)。

我考虑过在每次更新 CSV 时升级服务,但这似乎真的太过分了,而且会导致提供多个应用程序版本。有什么标准的方法来支持这个吗?

如果 .csv 文件是必需的,可以将与服务一起部署的 .csv 文件视为默认配置。因此,当服务启动时,它可以执行以下操作来加载配置:

  1. .csv 默认设置加载到内存中。
  2. 加载存储在 Reliable Collections 中的任何设置,并与之前从 .csv 文件加载的默认设置合并。

这样,由于使用可靠集合,动态更新的设置将被可靠地复制,并且 .csv 已经被复制,因为它是与服务的所有副本一起部署的默认工件。