2014-01-15 23 views
1

distributed system中有一個主站,它啓動一個從站: 一羣奴隸:start。它使用lager來記錄主設備上的消息 ,客戶端將日誌消息發送給主設備,主設備將其記錄。將應用程序推送到erlang從節點

問題是這些消息的數量和大小可能會增加並增加網絡使用率 。相反,我希望從節點上的日誌在本地被寫入 ,而不是被推送到主節點,除非日誌消息的'級別'高於某個級別(例如錯誤或警告但不是警告)。

我試着開始從節點上的一個獨立的啤酒應用程序,但它抱怨 約沒有找到它的應用程序文件: 錯誤,{「沒有這樣的文件或目錄」,「goldrush.app」} (淘金是啤酒的依賴)。

這些應用程序應該如何分配給從站?

回答

0

應用程序應該最好作爲Erlang版本的一部分進行分發。這意味着創建一個版本爲Reltool,RebarRelx。通過這樣的過程,您可以確保始終擁有所需的應用程序(如果您的應用程序正確依賴於其他應用程序,如Lager)。

另一種選擇是在啓動它之前確保目標系統上存在應用程序(及其依賴項)。這是一個比較手動的方法,但是可以例如將源代碼回購和其他命令運行以使系統正確構建。一旦所有的依賴被下載和構建,你就可以啓動系統。

沒有辦法通過Erlang本身將Erlang應用程序推送到另一個節點。可以通過欺騙手段將各個Erlang模塊作爲二進制文件通過線路發送。對於應用程序,這是不建議,因爲它們可以依賴於其他許多方面(如應用程序文件和私人數據)。

底線:您需要通過自己的部署過程確保應用程序及其依賴項存在於目標上。

相關問題