深入理解 RocketMQ 生产者

深入理解 RocketMQ 生产者

  • 原文地址:
  • 原文作者:
  • 本文永久链接:
特别说明

当前文章内容迁移中,如有问题,请提交 issues 谢谢 ~~

生产者消息发送的方式

  1. 同步(默认发送方式,超时 3s)

RocketMQ 发送消息后,当前线程阻塞,直到消费者返回消息。

  1. 异步

RocketMQ 发送消息后,会注册一个回调函数,消费者返回消费状态后,会启用新的线程处理。

  1. 单向

RocketMQ 发送消息后,当前线程结束。不用关注消费者对消息的处理状态。

生产者可以发送的消息类型

  • 事务消息
  • 延迟消息
  • 顺序消息

消息发送的基本流程

  • 验证消息
  • 查找路由
  • 消息发送(包含异常处理机制)

消息长度验证

批量消息发送

将同一主题的多条消息一起打包发送到消息服务端。

消息队列负载机制

生产者在发送消息前,如果本地路由表中不存在对应的 topic 路由信息,就会向 NameServer 发送一次请求,更新本地路由表信息。同时,
本地路由表每 30s 更新一次路由表信息。

消息发送异常机制

消息发送的两个高可用手段

  • 重试
  • broker 规避:如果每次消息发送时,对应的 broker 产生了错误,那么在某一段时间内,当前 broker 的消息队列就不会在被使用。
参考文章
Prev:
深入理解 Redis Hash 数据结构
Next:
深入理解 RocketMQ 消费者
Contents of this article
Contents of this article