前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RocketMQ 实战(五) - 批量消息和事务消息

RocketMQ 实战(五) - 批量消息和事务消息

作者头像
JavaEdge
发布2021-02-22 11:57:26
7790
发布2021-02-22 11:57:26
举报
文章被收录于专栏:JavaEdge

1 批量消息

1.1 为什么使用批量消息

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

1.2 使用批量消息的限制

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

2 事务消息

2.1 什么是事务消息

RocketMQ的事务消息,是指Producer端消息发送事件和本地事务事件,同时成功/失败。

2.2 事务消息设计

2.3 事务消息的使用约束

  • 事务消息不支持定时和批量
  • 为了避免一个消息被多次检查,导致半数队列消息堆积 RocketMQ限制了单个消息的默认检查次数为15次 通过修改broker配置文件中的transactionCheckMax参数进行调整

特定的时间段之后才检查事务 通过broker配置文件参数transactionTimeout或用户配置 CHECK_ IMMUNITY_ TIME_ IN_ SECONDS调整时间

  • 一个事务消息可能被检查或消费多次
  • 提交过的消息重新放到用户目标主题可能会失败
  • 事务消息的生产者ID不能与其他类型消息的生产者ID共享

2.4 事务消息的状态

  • TransactionStatus.CommitTransaction 提交事务,允许消费者消费这个消息
  • TransactionStatus. RollbackTransaction 回滚事务,消息将会被删除或不再允许消费
  • Transaction Status.Unknown 中间状态,MQ需要重新检查来确定状态
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/11/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 批量消息
    • 1.1 为什么使用批量消息
      • 1.2 使用批量消息的限制
      • 2 事务消息
        • 2.1 什么是事务消息
          • 2.2 事务消息设计
            • 2.3 事务消息的使用约束
              • 2.4 事务消息的状态
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档