24、Erlang应用启动阶段与SASL应用详解

Erlang应用启动阶段与SASL应用详解

在复杂的系统中,逐个启动应用程序往往是不够的。许多系统需要分阶段启动应用程序,并确保它们之间的同步。下面我们将详细探讨应用启动阶段、包含应用、组合监督者和应用以及SASL应用的相关内容。

1. 启动阶段(Start Phases)

对于一些复杂系统,应用程序需要分阶段启动并相互同步。以处理即时通讯的集群节点为例,启动过程可分为以下几个阶段:
- 第一阶段 :作为后台任务,开始加载包含路由和配置数据的所有Mnesia表。由于突然关机或节点崩溃,某些表可能需要恢复,这可能需要一些时间。
- 第二阶段 :表加载完成后,系统进入准备接受配置请求的状态,即启用管理状态。这可能包括检查与其他集群的链接、配置硬件,以及等待系统的其他部分(如认证服务器或日志记录设施)正确启动。
- 第三阶段 :此阶段完成后,系统可以进行检查和配置,但不允许用户发起会话。最后一个启动阶段是允许用户登录并让流量通过该节点,即启用操作状态。

bsc.app 文件中添加以下参数,可以定义三个启动阶段:

{start_phases, [{init, []}, {admin, []}, {oper, []}]}

在应用回调模块源文件 bsc.erl 中,需要导出并定义回调函数 start_phase(StartPhase, StartType,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值