RocketMQ 客户端最佳实践

1. Producer最佳实践

发送消息注意事项

1). 一个应用尽可能用一个Topic,消息子类型用tags来标识,tags可以由应用自由设置。

2). 消息发送成功或者失败,要打印消息日志,务必要打印sendresult和key字段。

SEND_OK,消息发送成功。

3). 对于消息不可丢失应用,务必要有消息重发机制,例如如果消息发送失败,存储到数据库,能有定时程序尝试重发,或者人工触发重发。

2. 消息发送失败如何处理:

1).重试

2).如果调用send同步方法发送失败,则尝试将消息存储到db,由后台线程定时重试,保证消息一定到达Broker。

3.Consumer 最佳实践

1). 消费过程要做到幂等

RocketMQ目前无法避免消息重复,所以如果业务对消费重复非常敏感,务必要在业务层面去重,有以下几种去重方式:

a).将消息的唯一键,可以是msgId,也可以是消息内容中的唯一标识字段,例如订单Id等,消费之前判断是否在Db或Tair(全局KV存储)中存在,如果不存在则插入,并消费,否则跳过。

b). 用业务层面的状态机去重。

2). 提高消费并行度

a). 同一个ConsumerGroup下,通过增加Consumer实例数量来提高并行度,超过订阅队列数的Consumer实例无效。可以通过加机器,或者在已有机器启动多个进程的方式。

b). 提高单个Consumer的消费并行线程,通过修改以下参数: consumeThreadMin consumeThreadMax

3). 消息批量消费

4). 跳过非重要消息

5). 优化每条消息消费过程

转载于:https://www.cnblogs.com/Jtianlin/p/8653034.html

RocketMQ最佳实战相关推荐

  1. 基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(三)

    基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(三) 转载于:https://github.com/Meowv/Blog 本篇继续围绕抓取完成后的操作做一个提醒. ...

  2. 基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(二)

    基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(二) 转载于:https://github.com/Meowv/Blog 本篇继续来完成一个全网各大平台的热点新闻 ...

  3. 基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(一)

    基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(一) 转载于:https://github.com/Meowv/Blog 本篇主要围绕定时任务和数据抓取相关的知识 ...

  4. mysql 5.6 使用ssl_MySQL 5.6--------SSL连接最佳实战

    MySQL 5.6--------SSL连接最佳实战 https://blog.csdn.net/weixin_33670786/article/details/89776706 mysql -uro ...

  5. SLS机器学习最佳实战:批量时序异常检测

    0.文章系列链接 SLS机器学习介绍(01):时序统计建模 SLS机器学习介绍(02):时序聚类建模 SLS机器学习介绍(03):时序异常检测建模 SLS机器学习介绍(04):规则模式挖掘 SLS机器 ...

  6. SLS机器学习最佳实战:日志聚类+异常告警

    0.文章系列链接 SLS机器学习介绍(01):时序统计建模 SLS机器学习介绍(02):时序聚类建模 SLS机器学习介绍(03):时序异常检测建模 SLS机器学习介绍(04):规则模式挖掘 SLS机器 ...

  7. 《精通软件性能测试与LoadRunner最佳实战》—第1章1.1节软件测试基础

    本节书摘来自异步社区<精通软件性能测试与LoadRunner最佳实战>一书中的第1章1.1节软件测试基础,作者于涌 , 王磊 , 曹向志 , 高楼 , 于跃,更多章节内容可以访问云栖社区& ...

  8. MySQL 5.7--------多实例部署最佳实战

    MySQL 5.7--------多实例部署最佳实战 安装之前关闭linux防火墙:centos6和7是不一样的!!!!!!     CentOS 6.5关闭防火墙 1 2 [root@localho ...

  9. Restful-API设计最佳实战--Django播客系统(五)

    Restful-API设计最佳实战–Django播客系统(五) 文章目录 Restful-API设计最佳实战--Django播客系统(五) RESTFul 1.协议 2.HTTP方法 3.使用名称 4 ...

最新文章

  1. Docker 集群 图形化显示 Visualizer
  2. Linux环境变量配置
  3. numpy.random详解
  4. Anaconda详细安装及安装Scrapy框架
  5. rank(),允许并列名次、复制名次自动空缺,结果如12245558……
  6. TXT文本文件中批量替代回车符号
  7. 2018年最新_5小时学会微信小程序视频教程网盘地址
  8. Python 用sympy做高数题,不定积分、定积分、极限、求导样样精通!
  9. 计算机考研考心理学,跨专业考研心理学研究生好考吗
  10. 微商潮牌怎么引流?成功的人不是赢在起跑点
  11. Linux文件许可权764意味着,chmod 777意味着什么
  12. Linux(五)Linux远程连接管理工具xftp,xshell使用
  13. 键盘钢琴软件v1.0.1.0官方pc版
  14. Git版本控制管理——Git和GitHub
  15. Mac-修改MySQL密码
  16. java 电子围栏_怎么画电子围栏,并进行电子围栏进出判断?
  17. 如何处理RuntimeError: _cdist_backward requires X1(X2) to be contiguous
  18. 数据结构《职工管理系统》
  19. AD 便捷键 通信接口定义
  20. 端午节特别活动 | 在 Python 中制作端午节游戏

热门文章

  1. Python 技术篇-3行代码实现语音朗读,pywin32库实现语音朗读
  2. CTFshow 命令执行 web36
  3. 使用matplotlib,同时在多个figure画图
  4. 第七周实践项目6 停车场模拟(栈和队列综合)
  5. 【解决方案】Basemap安装出现的错误(Python)
  6. Python爬虫图形界面封装版本
  7. Spring Boot中使用Swagger2构建RESTful APIs
  8. SaltStack 安装及配置认证
  9. canvas剪辑区域
  10. HTML 统一资源定位器(Uniform Resource Locators)URL