Erlang:RabbitMQ源码分析 1. 启动过程

本文深入探讨了RabbitMQ的启动过程,从boot steps的概念出发,详细阐述了每个步骤的功能,包括模块加载、日志配置、Mnesia目录设定、节点状态检查、应用启动等关键环节。通过理解这一系列过程,可以更好地了解RabbitMQ内部运行机制。
摘要由CSDN通过智能技术生成

RabbitMQ的启动是基于boot steps, boot steps的每一个step可能是启动一个component,也可能是打印一个启动信息。 boot steps是一个有向无环图,保证了启动的顺序性。

一个boot step:

-rabbit_boot_step({recovery,
[{description, "exchange, queue and binding recovery"},
{mfa,         {rabbit, recover, []}},
{requires,    empty_db_check},
{enables,     routing_ready}]}).

name是recovery,

mfa是启动Module,Function,Arguments, 

requires是必须在其之前启动的boot step

enables是在其之后可以启动的boot step


来看下整个的启动过程:

RabbitMQ只有一个Application, 由rabbit_app.in 可知, rabbit的启动入口是rabbit.erl的  start/0,

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值