【问题标题】:Windows Centralized Configuration for third party applications?第三方应用程序的 Windows 集中配置?
【发布时间】:2008-12-09 17:28:11
【问题描述】:

我们正在寻找一种配置应用程序各种“端点”的标准方法。我们的应用程序是一个带有 Windows 桌面应用程序、Windows Server“服务”和数据库的分布式系统。 我们目前使用 XML 文件配置每个部分。随着我们与可能拥有数十台服务器运行我们的应用程序和数百个桌面客户端的大客户合作,这有点失控了。

谁能推荐一种 Microsoft 技术或第三方,使我们能够集中所有配置信息并在一个地方为我们的所有应用程序管理这些信息?任何更改都会被“推送”到感兴趣的端点。

例如,如果我们要更改其中一个数据库的登录名,我们将在数据库上进行该更改,然后将该更改反映在我们的集中式系统中。在最后一步之后,任何需要连接到数据库的服务都将收到更改通知(并可能接收新数据)。每个端点如何以及如何处理这些信息超出了系统的范围。

我们的主要业务不是“集中配置服务”。我们是一家 GIS 公司,为全球各种公用事业提供解决方案。

【问题讨论】:

    标签: windows configuration centralized


    【解决方案1】:

    这些年来,我做了几件事来赋予自己这个功能。我构建了可能分布在许多服务器上的企业应用程序。我不想将配置设置隐藏在每个服务配置文件或每个 Web 服务器的 web.config 文件中。对于特定于应用程序的东西,我通常在应用程序的数据库中创建一个应用程序设置表。该表只有两个字段。设置名称和设置值。然后我编写了一个 web 或 wcf 服务,它的唯一功能是检索这些设置。我编写了一个名为 GetSetting 的函数,您可以在其中传递“SettingName”,如果找不到您的设置,它会返回 SettingValue 或空字符串。这样,我可以将应用程序所有组件的所有应用程序设置存储在一个位置。对此进行维护和故障排除真的很容易,我不会在十几个网络和应用服务器上搜索大量配置文件。

    对于更大规模的应用程序,我可能会创建一个单独的 AppSettings 数据库,在上面提到的表中添加一个新字段。应用名称。我的这种方法的 web 或 wcf 服务仅在此范围内具有相同的方法调用 (GetSetting),我传递 ApplicationName 和 SettingName,它返回 SettingValue 或空字符串。

    通过执行上述任一操作,您可以集中所有应用程序设置,适用于任何规模的应用程序或 IT 商店。它对我们来说非常有效。

    【讨论】:

      【解决方案2】:

      您可以将 RSS 与 BitTorrent 一起使用来分发更改。见Wikipedia。然而,它不是特定于 MS 的,但应该提供您需要的灵活性 - 一个配置服务器保存配置并提供配置客户端和可能的服务器所需的提要。

      【讨论】:

      • 不完全是您通常使用 bittorrent 的目的,但也不是一个愚蠢的想法!
      【解决方案3】:

      任何通过安全通道的 VCS?

      例如,通过 ssh 进行 git(在 cygwin 中都可用)。

      我认为第一步是拥有安全通道(如果您想要推送能力,拉动可能会有所不同)。

      至于管理不同“分支”中的“版本”,有什么比版本控制系统更好的呢?

      按照 Microsoft 的要求,该领域中存在的 Microsoft 软件在您的情况下会非常糟糕(因为它不是该工作的最佳工具)。

      【讨论】:

      • 洛基,感谢您的回复。但我认为你和我指的是两件完全不同的事情。我们不是在寻找源代码意义上的“配置管理”。我们正在讨论架构、运行应用程序...如果您愿意,可以使用应用程序设置。
      猜你喜欢
      • 2017-09-19
      • 2014-06-30
      • 2012-09-28
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      相关资源
      最近更新 更多