相对消费者而言,生产者的使用更加简单,一般关注消息类型、消息发送方法和发送参数,即可正常使用RocketMQ发送消息

常用消息类型

消息类型 优点 缺 点 备注
普通消息(并发消息) 性能最好。单机TPS的级别为100 000 消息的生产和消费都无序 大部分场景适用
分区有序消息 单分区中消息有序,单机发送TPS万级别 单点问题。如果Broker宕机,则会导致发送失败 大部分有序消息场景适用
全局有序消息 类似传统的 Queue,全部消息有序,单机发送TPS千级别 单点问题。如果Broker宕机,则会导致发送失败 极少场景使用
延迟消息 RocketMO自身支持,不需要额外使用组件,支持延迟特性 不能根据任意时间延迟,使用范围受限。Broker 随着延迟级别增大支持越多,CPU压力越大,延迟时间不准确 非精确、延迟级别不多的场景,非常方便使用
事务消息 RocketMO自身支持,不需要额外使用组建支持事务特性 RocketMO事务是生产者事务,只有生产者参与,如果消费者处理失败则事务失效 简单事务处理可以使用

常用的发送方法

发送方法 优点 缺 点 备注
send(Message msg)
同步发送
最可靠 性能最低 适用于高可靠场景
send(SendCallback sendCallback)
异步发送
可靠,性能最高 如果发送失败,就需要考虑如何降级 大部分业务场景
send(Message msg,MessageQueue mq)
指定队列发送
可以发送顺序消息 单点故障后不可用 适用于顺序消息
send(Message msg,MessageQueueSelectorselector, Object arg)
执行队列发送
队列选择方法最灵活 比较低级的接口,使用有门槛 特殊场景
sendOneway(Message msg)
单向发送
使用最方便 消息有丢失风险 适用于对消息丢失不敏感的场景
send(Collection msgs)
批量发送
效率最高 发送失败后降级比较困难 适用于特殊场景

常用参数

参数名 含义 备注
producerGroup 生产者组 必须传入的参数
compressMsgBodyOverHowmuch 消息体数量超过该值则压缩消息
instanceName 生产者实例名
maxMessageSize 消息体的最大值 默认为4MB,也可以单独设置
retryTimesWhenSendAsyncFailed 异步发送失败的重试次数
retryTimesWhenSendFailed 同步发送失败的重试次数
sendMsgTimeout 发送超时时间 网络层的超时时间

最新文章

  1. 关于StringBuffer和StringBuilder
  2. Windows下ADT环境搭建
  3. MySQL 快速创建索引
  4. Java实现点击一个控件实现删除一个控件的方法
  5. shell字符串和数组
  6. LCS最长公共子序列(最优线性时间O(n))
  7. Hbase源码分析:Hbase UI中Requests Per Second的具体含义
  8. 第六十篇、音视频采集硬编码(H264+ACC)
  9. hdu 4678 Mine 博弈论
  10. QT5控件-QDateTimeEdit和类QDateTime
  11. Web应用中监听者的通知顺序按照DD中的定义顺序
  12. ActionMode 就记这么一点,不能更多了
  13. Hbase架构与原理
  14. Python-网络爬虫模块-requests模块之请求
  15. C# 获取 串口 设备名称 与 串口号 ManagementObjectSearcher类
  16. visual studio 2015 Opencv 3.4.0配置
  17. Flask三种导入配置文件的方式
  18. ZOJ 3963 Heap Partition(multiset + stl自带二分 + 贪心)题解
  19. pycharm开发工具,使用
  20. Pandas选择数据

热门文章

  1. <二>派生类的构造过程
  2. python3的可迭代对象与迭代器对象
  3. 【Shell案例】【打印指定行用sed、for循环、head和tail配合使用】4、输出第5行的内容
  4. 【每日一题】【dfs重载原始函数&循环/函数结束条件&左右下标在数组中位置的确定】2022年2月7日-NC12 由先序和中序遍历重建二叉树
  5. 《HTTP权威指南》– 10.安全HTTP
  6. ModuleNotFoundError: No module named 'MySQLdb'
  7. [python]《Python编程快速上手:让繁琐工作自动化》学习笔记3
  8. Flink mini-batch "引发" 的乱序问题
  9. 用云服务器搭建frp服务(超详细)
  10. 【集成开发环境 (IDE)】Dev-Cpp下载与安装 [ 图文教程 ]