2010-05-15 51 views
5

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

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

回答

0

我认为将所有配置数据保存在存储库(颠覆,mercurial等)是合理的,并让应用程序每次下载时都会下载它,或者尝试重新加载某些其配置选项。这是集中式的方法 - 但是你可以有很多配置服务器,以避免SPOF - 它:

  • 可以让你保持跟踪变化,让你 知道是谁把这些和时他(她)做 是(没有人想要负责 不合适的配置);
  • 可让您使用 网络中所有应用程序的相同配置;
  • 更改的方便性:您可以修改 配置,并通过gen_server:abcast通话或其他方式通知相关应用程序 。

proplists(3)在读取配置时很有用。

0

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

你想创建一个分布式的,可扩展的系统,当然二郎是进入脑海的第一个选择,因为它被设计用于上述目的。

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

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

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

    • 最简单的例子是在一个节点上启动一个服务器,同时在一个伙伴节点上同时启动一个从服务器。

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

      • 简单的例子是通过引入表明节点不仅二郎山VM准备新的消息不同的方式处理node_up消息,但所有重要的应用程序正在运行。通过这种方式,队友节点可以确保备用节点已准备好并可以开始同步。

请详细说明或评论,如果我误解的东西。 祝你好运!

相关问题