网易云课堂学习-rocketMq批量消息和事务消息

为什么使用批量消息
在很多调优的时候,比如数据库批量处理,有些请求进行合并发送等都是类似批量的实现。
RocketMq批量发送也是为了追求性能,特别是在消息数量非常大的时候,批量效果非常明显。

使用批量消息的限制

  • 同一批次的消息应具有相同主题,相同的消息配置
  • 不支持延迟消息
  • 建议一个批量消息大小,最好不要超过1m。

使用批量消息
官方教程:
http://rocketmq.apache.org/docs/batch-example/

什么是事务消息
是指producer端发送消息事件和本地事务事件,同时成功或同时失败。

rocketMq事务消息设计
网易云课堂学习-rocketMq批量消息和事务消息_第1张图片
事务消息的使用约束

网易云课堂学习-rocketMq批量消息和事务消息_第2张图片
一个事务消息可能被检查或消费多次
提交过的消息重新放到用户目标主题可能回失败
事务消息的生产者ID不能与其他类型消息的生产者ID共享。

三种事务消息状态
Transaction Status.CommitTransaction 提交事务,允许消费者消费这个消息

TransactionStatus.RollbackTransaction 回滚事务,消息将会被删除或不再允许消费

TransactionStatus.Unkown 中间状态,MQ需要重新检查来确定状态。

你可能感兴趣的:(消息中间件,java)