- 應用控制器:
- 每個運行時系統中只有一個應用控制器,其註冊名爲 application_controller。
- 控制器負責加載應用中的 .app 文件,並且會檢查當前應用所依賴的其他應用是否都已經啓動。
- 應用控制器會爲運行中的每個應用派生一對應用主控進程,從而把自己與應用代碼隔離開來。
- 在用 application:start(AppName) 啓動應用時,應用的啓動類型默認爲 temporary。
- 如果通過 application:start(AppName, permanent) 啓動,只要應用終止,整個運行時系統會隨之關閉,重新啓動。
- 發佈鏡像:
- 若干應用,再加上一些元數據,便構成了發佈鏡像。
- 元數據用於描述如何以系統的方式啓動和管理這些應用。
- 同一發佈鏡像中的應用都在同一套 Erlang 運行時系統上運行,這就是目標系統。
- 版本號是發佈鏡像的重要屬性之一。
- 發佈鏡像的步驟:
- 確定需要包含哪些應用
- 創建用於描述發佈鏡像內容的元數據文件(.rel)
- 創建啓動腳本
- .script 文件和 .boot 文件。
- .script 文件內包含一份完整的規範,所有應用的內容明細全部羅列在內,包括應用的路徑、需要加載的模塊,以及其他各種必要信息。
- .boot 文件是 .script 文件的二進制形式,可供 ERTS 在啓動時直接讀取。
- 創建系統配置文件
- 將所有內容打包成單個文件
《Erlang/OTP併發編程實戰》第十章 打包、服務和部署
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.