启动过程中,主要的几个定时任务:
-
NameServer 地址定时更新任务(没有显示指定 NameServer 的场景),支持动态更新 NameServer 地址
-
本地路由信息定时更新任务,定时从 NameServer 拉取最新的路由信息更新到本地缓存
-
Broker心跳检测任务,定时向Broker集群发送心跳包,并清除已下线的Broker
注意:由于生产者与消费者底层都是通过 MQClientInstance 类与 Broker 服务通信,而消息拉取服务,重负载均衡服务都是针对消费者端的服务,因此即使生产者启动了这两个服务,实际也不会生效。
消息发送
====
消息发送过程中,主要包含两个核心步骤:
-
路由信息获取,根据消息的 Topic 拿到可用 Broker 的服务路由
-
负载均衡机制,即选择合适的消息队列
路由获取
====