- 应用控制器:
- 每个运行时系统中只有一个应用控制器,其注册名为 application_controller。
- 控制器负责加载应用中的 .app 文件,并且会检查当前应用所依赖的其他应用是否都已经启动。
- 应用控制器会为运行中的每个应用派生一对应用主控进程,从而把自己与应用代码隔离开来。
- 在用 application:start(AppName) 启动应用时,应用的启动类型默认为 temporary。
- 如果通过 application:start(AppName, permanent) 启动,只要应用终止,整个运行时系统会随之关闭,重新启动。
- 发布镜像:
- 若干应用,再加上一些元数据,便构成了发布镜像。
- 元数据用于描述如何以系统的方式启动和管理这些应用。
- 同一发布镜像中的应用都在同一套 Erlang 运行时系统上运行,这就是目标系统。
- 版本号是发布镜像的重要属性之一。
- 发布镜像的步骤:
- 确定需要包含哪些应用
- 创建用于描述发布镜像内容的元数据文件(.rel)
- 创建启动脚本
- .script 文件和 .boot 文件。
- .script 文件内包含一份完整的规范,所有应用的内容明细全部罗列在内,包括应用的路径、需要加载的模块,以及其他各种必要信息。
- .boot 文件是 .script 文件的二进制形式,可供 ERTS 在启动时直接读取。
- 创建系统配置文件
- 将所有内容打包成单个文件
《Erlang/OTP并发编程实战》第十章 打包、服务和部署
最新推荐文章于 2021-08-11 16:28:39 发布