1. 检测消息的合法性:

    • topic名称是否包含非法字符
    • topic名称长度是否超过限制(127个字符)
    • message是否为null是否为空消息
    • message消息体是否大于最大长度(4M)
  2. 获取topic详情

    • 首先获取内存中维护的一份Map获取,如果没有的话会从NameServer的接口获取数据,然后更新到map中
    • 获取的topic元数据包含:topic的路由信息,topic下broker相关信息
  3. 选择具体的MessageQueue

    • MessageQueue选择机制:获取一个随机数与MessageQueue数量取模,决定选择哪个queue,再找到这个queue所在的broker
    • 容错机制下的选择逻辑:如果开启了路由发现的Broker失败隔离和Broker超时隔离,则会过滤掉不可用的Broker再进行选择
    • 正常情况下的选择逻辑:每次发送都会将queue的broker与上一次选的进行对比,保证选择和上一次不一样的Broker,避免数据倾斜
  4. 发送流程

    选择到了具体的MessageQueue就会底层调用Netty接口将消息发送出去

标签: none

已有 9 条评论

  1. 《如此爹娘》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/70741.html

  2. 《中国轮盘》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/61800.html

  3. 《吾凰在上 动态漫画》国产动漫高清在线免费观看:https://www.jgz518.com/xingkong/48992.html

  4. 《香水》韩国剧高清在线免费观看:https://www.jgz518.com/xingkong/143068.html

  5. 你的才华横溢,让人敬佩。 https://www.yonboz.com/video/13594.html

  6. 你的文章让我感受到了不一样的视角,非常精彩。 http://www.55baobei.com/chC9OZwzL7.html

  7. 《大坝999》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/151810.html

  8. 你的文章让我感受到了快乐,每天都要来看一看。 http://www.55baobei.com/UjhE32tSfS.html

  9. 不错不错,我喜欢看 https://www.237fa.com/

添加新评论