RocketMQ-消息发送基本流程
消息发送流程主要的步骤:验证消息、查找路由、消息发送(包括异常处理机制)
从org.apache.rocketmq.client.producer.DefaultMQProducer类的send方法开始追踪
1  | DefaultMQProducer#send  | 
默认消息发送以同步方式发送,默认超时时间为3s。
1  | private SendResult sendDefaultImpl(  | 
①消息校验
1  | public static void checkMessage(Message msg, DefaultMQProducer defaultMQProducer)  | 
①.1校验topic
1  | public static void checkTopic(String topic) throws MQClientException {  | 
②查找主题路由信息
1  | private TopicPublishInfo tryToFindTopicPublishInfo(final String topic) {  | 
②.1 TopicPublishInfo类
1  | orderTopic = false;// 是否是顺序消息  | 
②.2 MQClientInstance#updateTopicRouteInfoFromNameServer()
1  | public boolean updateTopicRouteInfoFromNameServer(final String topic, boolean isDefault,  |