Erlang应用启动阶段与SASL应用详解
在复杂的系统中,逐个启动应用程序往往是不够的。许多系统需要分阶段启动应用程序,并确保它们之间的同步。下面我们将详细探讨应用启动阶段、包含应用、组合监督者和应用以及SASL应用的相关内容。
1. 启动阶段(Start Phases)
对于一些复杂系统,应用程序需要分阶段启动并相互同步。以处理即时通讯的集群节点为例,启动过程可分为以下几个阶段:
- 第一阶段 :作为后台任务,开始加载包含路由和配置数据的所有Mnesia表。由于突然关机或节点崩溃,某些表可能需要恢复,这可能需要一些时间。
- 第二阶段 :表加载完成后,系统进入准备接受配置请求的状态,即启用管理状态。这可能包括检查与其他集群的链接、配置硬件,以及等待系统的其他部分(如认证服务器或日志记录设施)正确启动。
- 第三阶段 :此阶段完成后,系统可以进行检查和配置,但不允许用户发起会话。最后一个启动阶段是允许用户登录并让流量通过该节点,即启用操作状态。
在 bsc.app 文件中添加以下参数,可以定义三个启动阶段:
{start_phases, [{init, []}, {admin, []}, {oper, []}]}
在应用回调模块源文件 bsc.erl 中,需要导出并定义回调函数 start_phase(StartPhase, StartType,
超级会员免费看
订阅专栏 解锁全文
2

被折叠的 条评论
为什么被折叠?



