Version control Erlang:如何重新加载应用程序环境配置?

Version control Erlang:如何重新加载应用程序环境配置?,version-control,configuration,erlang,Version Control,Configuration,Erlang,如何重新加载应用程序的配置?或者,管理动态应用程序配置的好策略是什么 例如,假设我有日志级别,我想在运行时更改它们。另外,让我们假设这是许多这样的选项之一。拥有一个“配置服务器”来保存应用程序其他部分要查询的配置状态有意义吗?人们是这样做的还是我自己编的?我认为将所有配置数据保存在存储库(subversion、mercurial等)中是合理的,并让应用程序在每次启动或尝试重新加载某些配置选项时下载这些数据。这是一种集中化的方法—但是您可以避免使用许多配置服务器—并且: 允许您跟踪更改,以便 知

如何重新加载应用程序的配置?或者,管理动态应用程序配置的好策略是什么


例如,假设我有日志级别,我想在运行时更改它们。另外,让我们假设这是许多这样的选项之一。拥有一个“配置服务器”来保存应用程序其他部分要查询的配置状态有意义吗?人们是这样做的还是我自己编的?

我认为将所有配置数据保存在存储库(subversion、mercurial等)中是合理的,并让应用程序在每次启动或尝试重新加载某些配置选项时下载这些数据。这是一种集中化的方法—但是您可以避免使用许多配置服务器—并且:

  • 允许您跟踪更改,以便 知道是谁放的,什么时候放的 那(没有人愿意负责) 取消保护配置)
  • 使您能够使用相同的配置 您的所有应用程序 网络
  • 易于更改:您只需修改 配置并通知相关应用程序 使用
    genu服务器:abcast
    呼叫或其他方式

proplist(3)
在阅读配置时很有用。

如果我的理解是正确的,问题如下:

您想要创建一个分布式的、可扩展的系统,当然,Erlang是第一个想到的选择,因为它就是为这样的目的而设计的。

  • 您将有几个节点运行本地应用程序以及分布式应用程序

  • 这里最简单的层次结构是为每个主要功能提供热备份

  • 这可以通过实现分布式应用程序控制器来实现

    • 最简单的示例是在节点上启动服务器,而在配对节点上同时启动从属服务器

    • 分布式应用程序控制器有许多优点

      • 简单的例子是通过引入新的消息以不同的方式处理node_up消息,这些消息指示节点不仅准备好了erlang VM,而且所有重要的应用程序都在运行。这样,mate节点可以确保备用节点已准备就绪并可以开始同步
如果我误解了什么,请详细说明或评论。 祝你好运