2010-05-15 72 views
5

如何重新加載應用程序的配置?或者,什麼是管理動態應用程序配置的好策略?Erlang:你如何重新加載應用程序環境配置?

例如,假設我有日誌級別,並且想在運行時更改它們。另外,我們假設這是許多這樣的選項之一。有一個「配置服務器」保存應用程序的其他部分查詢的配置狀態是否有意義?人們這樣做還是我只是補充了?

回答

0

我認爲將所有配置數據保存在存儲庫(顛覆,mercurial等)是合理的,並讓應用程序每次下載時都會下載它,或者嘗試重新加載某些其配置選項。這是集中式的方法 - 但是你可以有很多配置服務器,以避免SPOF - 它:

  • 可以讓你保持跟蹤變化,讓你 知道是誰把這些和時他(她)做 是(沒有人想要負責 不合適的配置);
  • 可讓您使用 網絡中所有應用程序的相同配置;
  • 更改的方便性:您可以修改 配置,並通過gen_server:abcast通話或其他方式通知相關應用程序 。

proplists(3)在讀取配置時很有用。

0

如果我的理解是正確的,問題是:

你想創建一個分佈式的,可擴展的系統,當然二郎是進入腦海的第一個選擇,因爲它被設計用於上述目的。

  • 您將有幾個節點運行本地應用程序和分佈式應用程序。

  • 這裏最簡單的層次結構是爲每個主要功能提供熱備份備份。

  • 這可以通過實現分佈式應用程序控制器來實現。

    • 最簡單的例子是在一個節點上啓動一個服務器,同時在一個夥伴節點上同時啓動一個從服務器。

    • 分佈式應用程序控制器有許多優點。

      • 簡單的例子是通過引入表明節點不僅二郎山VM準備新的消息不同的方式處理node_up消息,但所有重要的應用程序正在運行。通過這種方式,隊友節點可以確保備用節點已準備好並可以開始同步。

請詳細說明或評論,如果我誤解的東西。 祝你好運!

相關問題