01 RockerMq第一节 ---- nameserver

首先来回忆一下rmq的架构图


rmq的架构图
  • 为什么 NameServer 为什么要集群化部署?
    最主要的原因是因为 高可用 ,因为nameserver来管理各个broker,要知道和哪个broker进行通信,所以一旦没了nameserver,就会很麻烦。

  • Broker 是如何把自己的信息注册到NameServer 上的?
    其实每个Broker都会向所有的NameServer进行注册。

    向NameServer注册

  • 系统是如何从NameServer 获取到 broker信息的
    生产者和消费者主动去NameServer拉取Broker信息的。

    拉取信息

  • 如果Broker挂了,NameServer是怎么感知的
    Broker和NameServer之间的 心跳机制 Broker每隔30s给每个NameServer发送心跳告诉他们自己还活着。 每次NameServer收到一个心跳,就可以更新他最近一次的心跳时间。
    然后NameServer 会每隔10s运行一个任务,去检查一下各个Broker的最近一次心跳时间,
    如果有Broker超过120s都没发送心跳,那么就认为这个Broker已经挂了

    心跳机制

  • Broker挂了,怎么处理?

宕机场景
  1. 可以将消息发到其他的Broker
  2. 可以考虑主备 ,用slave来完成。
    需要根据具体情况分析。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容