我有在Erlang VM的R13版本上運行的Erlang應用程序。 我想在不停止應用程序的情況下將VM升級到R14。 我該如何在 不同版本的Erlang VM之間實時遷移應用程序?兩個不同版本的Erlang虛擬機之間的實時應用程序遷移
3
A
回答
4
您需要兩件事:
a)大量的計劃。
b)在多個節點上運行的應用程序。
通常的技巧是取下部分節點集羣並將其升級到新版本。它應該能夠與舊節點通話。然後在新版本的Erlang接管時碰撞舊節點。
Erlang不提供免費的這種升級。儘管如此,它的確讓人痛苦不少。
0
簡短的回答,你不能。
這是因爲爲新版本的BEAM仿真器(Erlang VM)編譯的應用程序在舊版本的仿真器上無法正常運行。
或者在更多的細節:
升級的應用程序而無需停止它只能使用release handler來完成。但是釋放處理程序只能升級在VM中運行的應用程序,而不是VM本身。您仍然可以準備relup
文件,但是當systools:make_relup/3注意到新的release使用不同版本的BEAM仿真器時,它將添加指令restart_new_emulator (Low-Level)
以在升級過程中重新啓動節點(請參閱restart_new_emulator
的說明the page I mentioned earlier)。然而,你可以做的是在不中斷服務的情況下升級Erlang虛擬機(假設你的應用程序向外部提供某種服務)。但這很大程度上取決於應用程序的體系結構,並沒有通用的答案。
相關問題
- 1. 同一虛擬機中不同應用程序之間的通信
- 2. 多個Web應用程序 - 相同的虛擬機vs多個虛擬機
- 3. 虛擬機管理程序如何同步主機和虛擬機VM之間的時間?
- 4. 虛擬機自動遷移
- 5. 兩臺虛擬機之間的通信
- 6. C#應用程序的兩個版本之間的COM麻煩
- 7. apache2的虛擬主機子域遷移
- 8. 同一應用程序的兩個不同版本
- 9. 更新不同應用程序版本之間的XML文件
- 10. 以kvm/qemu度量虛擬機實時遷移參數
- 11. 編程創建具有不同域名和不同虛擬機的asp web應用程序的多個實例
- 12. 虛擬主機:不能同時有多個虛擬主機
- 13. 虛擬主機下的應用程序?
- 14. 在兩個win2k guest虛擬機之間進行通信虛擬機箱
- 15. 如何在不同版本之間遷移?
- 16. M2M之間的兩個不同的應用程序
- 17. 同時維護和部署應用程序的兩個版本
- 18. 插入Rails的兩個現有的遷移之間的遷移
- 19. kvm中的兩個虛擬機之間的Ping
- 20. Windows版本之間的應用程序可移植性
- 21. 對於Java EE應用程序,具有不同架構的兩個表之間的數據遷移
- 22. 幾個應用程序實例試圖同時遷移相同的數據庫
- 23. 安裝兩個不同版本的應用程序
- 24. 將虛擬機遷移到新訂閱
- 25. Apache遷移到虛擬主機
- 26. 不同網絡中兩個應用程序之間的命令
- 27. 不同域之間的兩個Web應用程序之間的Javascript通信
- 28. 在進程內運行erlang虛擬機
- 29. 如何兩個虛擬框之間的溝通主機
- 30. 維護同一個應用程序的兩個版本,並給用戶在兩者之間切換的選擇!