我想用illang來說明分佈式應用程序的概念。我的系統目前有一臺服務器和一臺ATM。我儘量保持簡單。erlang分佈式銀行系統
目前我的應用程序在本地運行。我正在使用gen_server
作爲銀行服務器和ATM之間的客戶端 - 服務器關係。我也有一個gen_fsm
模塊來建議我的ATM有不同的狀態。爲了存儲我使用dict
模塊的任何數據(我不想使用數據庫使事情更加複雜)。爲了保持進程活着(gen_server
和gen_fsm
)我正在使用supervisor
進程。我已經將所有模塊封裝爲應用程序,但目前它都是本地的。任何想法將不勝感激。
我想在兩個不同的節點上啓動相同的應用程序,並說明使用某種故障轉移/接管機制的分佈式概念,但我對使用哪些模塊沒有任何意見。
- 是否必須使用目標系統(在某些時候我必須做一個熱升級到應用程序)
- 什麼是正確的順序來做這些事情:首先升級,然後分發?
如果有人能給我一些關於如何完成所有這些事情的想法,我將不勝感激。
你問你應該專注於首先,熱升級還是分配?沒有什麼是非常強制的:-)但是在分佈式系統和熱代碼升級時使用目標系統和OTP將會幫助你很多。 –
我必須同時做這兩件事。我的應用程序已經根據OTP規則進行了結構化,但我的行爲過程(服務器,fsm,主管)都是本地的。我想使用版本可以做熱升級的工作。關於分發,我還沒有找到任何關於如何創建以及爲每個節點放置配置文件的適當示例。一些指導方針,也許關於如何實現這兩個事情的順序將非常有幫助。感謝你的時間亞當。 – ar3tzu