SocketMQ Producer消息发送流程
检测消息的合法性:
- topic名称是否包含非法字符
- topic名称长度是否超过限制(127个字符)
- message是否为null是否为空消息
- message消息体是否大于最大长度(4M)
获取topic详情
- 首先获取内存中维护的一份Map获取,如果没有的话会从NameServer的接口获取数据,然后更新到map中
- 获取的topic元数据包含:topic的路由信息,topic下broker相关信息
选择具体的MessageQueue
- MessageQueue选择机制:获取一个随机数与MessageQueue数量取模,决定选择哪个queue,再找到这个queue所在的broker
- 容错机制下的选择逻辑:如果开启了路由发现的Broker失败隔离和Broker超时隔离,则会过滤掉不可用的Broker再进行选择
- 正常情况下的选择逻辑:每次发送都会将queue的broker与上一次选的进行对比,保证选择和上一次不一样的Broker,避免数据倾斜
- 发送流程
选择到了具体的MessageQueue就会底层调用Netty接口将消息发送出去
《如此爹娘》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/70741.html
《中国轮盘》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/61800.html
《吾凰在上 动态漫画》国产动漫高清在线免费观看:https://www.jgz518.com/xingkong/48992.html
《香水》韩国剧高清在线免费观看:https://www.jgz518.com/xingkong/143068.html
你的才华横溢,让人敬佩。 https://www.yonboz.com/video/13594.html
你的文章让我感受到了不一样的视角,非常精彩。 http://www.55baobei.com/chC9OZwzL7.html
《大坝999》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/151810.html
你的文章让我感受到了快乐,每天都要来看一看。 http://www.55baobei.com/UjhE32tSfS.html
不错不错,我喜欢看 https://www.237fa.com/