消息发送基本流程:
1、消息验证
验证主题(topic),消息体不能为空和大小不能超过4M。
2、路由查找
a、查看缓存,是否有topic的路由信息。
b、如果没有则到NameServer中获取路由信息,如果缓存内能找到则获取相应路由信息。
c、从缓存中获取上一次异常的Broker节点信息,跟获取到的节点信息进行排查,提高消息发送的性能。(Broker 规避)
d、如果消息发送失败,则轮休路由进行重试。(重试)
3、消息发送
a、同步消息
b、异步消息
c、单向发送
d、批量消息发送
源码分析:
待补充……