消息中间件使用规范(RocketMQ)

本文涉及的产品
性能测试 PTS,5000VUM额度
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 消息中间件使用规范(RocketMQ)

1、命名规范

1、【强制】Topic命名:topic+下划线+业务名,例如:订单领域topic命名为:topic_order。
2、【强制】tag命名:tag+下划线+业务动作,比如:订单创建的tag为:tag_create;订单关闭的tag为:tag_close。
3、【强制】生产者分组命名:pg+下划线+业务名,例如:订单创建生产者发送订单创建消息,那么生产者分组名为:pg_order
4、【强制】消费者分组命名:cg+下划线+业务名+下划线+订阅topic名称+下划线+订阅tag名称。
              例如:订单创建消息topic为topic_order,tag为tag_create,消息生产者为订单服务,用户服务和支付服务需要消费这条消息,那么用户服务的消费者分组命名为cg_user_order_create,支付服务的消费者分组命名为cg_payment_order_create。

2、使用规范

【生产者】
2.1【强制】一个领域服务只能有一个topic。
2.2【强制】领域服务发送消息时必须根据业务动作设置tag。
2.3【强制】在Producer发送消息时必须设置keys。
2.4【强制】​消息发送成功或者失败要打印消息日志,务必要打印SendResult和key字段。
2.5【建议】消息发送失败后建议将消息存储到db,然后由定时器类线程进行定时重试,确保消息达到broker。
2.6【建议】对于可靠性要求不高的业务场景可以使用oneway消息。
2.7 【强制】新建生产者时必须指定生产者分组。
【消费者】
2.8【强制】新建消费者时必须指定消费者分组。
2.9【强制】消息消费者无法避免消息重复,所以需要业务服务来保证消息消费幂等。
2.10【建议】为了提高消费并行度,可以在同一个ConsumerGroup下启动多个Consumer实例或者通过修改ConsumeThreadMin和consumeThreadMax来提高单个Consumer的并行消费能力。
2.11【建议】为了增加业务吞吐量,可以通过设置consumer的consumeMessageBatchMaxSize来批量消费消息。
2.12 【建议】发生消息堆积时,如果业务对数据要求不高时,可以选择丢弃不重要的消息。
2.13【建议】如果消息量较少,建议在消费入口打印消息、消费耗时等,方便后续排查问题。

3、申请规范

3.1 【强制】在新建topic时必须进行申请,申请形式为:填写申请表,评审通过方可使用

4、参考

4.1 RocketMQ最佳实践:https://github.com/apache/rocketmq/blob/master/docs/cn/best_practice.md

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
29天前
|
消息中间件 存储 Java
RocketMQ(一):消息中间件缘起,一览整体架构及核心组件
【10月更文挑战第15天】本文介绍了消息中间件的基本概念和特点,重点解析了RocketMQ的整体架构和核心组件。消息中间件如RocketMQ、RabbitMQ、Kafka等,具备异步通信、持久化、削峰填谷、系统解耦等特点,适用于分布式系统。RocketMQ的架构包括NameServer、Broker、Producer、Consumer等组件,通过这些组件实现消息的生产、存储和消费。文章还提供了Spring Boot快速上手RocketMQ的示例代码,帮助读者快速入门。
|
2月前
|
消息中间件 存储 RocketMQ
消息中间件-RocketMQ技术(二)
消息中间件-RocketMQ技术(二)
|
2月前
|
消息中间件 存储 中间件
消息中间件-RocketMQ技术(一)
消息中间件-RocketMQ技术(一)
|
1月前
|
消息中间件 编解码 Docker
【Docker项目实战】Docker部署RabbitMQ消息中间件
【10月更文挑战第8天】Docker部署RabbitMQ消息中间件
93 1
【Docker项目实战】Docker部署RabbitMQ消息中间件
|
22天前
|
消息中间件 存储 Java
吃透 RocketMQ 消息中间件,看这篇就够了!
本文详细介绍 RocketMQ 的五大要点、核心特性及应用场景,涵盖高并发业务场景下的消息中间件关键知识点。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
吃透 RocketMQ 消息中间件,看这篇就够了!
|
3月前
|
消息中间件 Java 测试技术
消息中间件RabbitMQ---SpringBoot整合RabbitMQ【三】
这篇文章是关于如何在SpringBoot应用中整合RabbitMQ的消息中间件。内容包括了在SpringBoot项目中添加RabbitMQ的依赖、配置文件设置、启动类注解,以及如何通过单元测试来创建交换器、队列、绑定,并发送和接收消息。文章还介绍了如何配置消息转换器以支持对象的序列化和反序列化,以及如何使用注解`@RabbitListener`来接收消息。
消息中间件RabbitMQ---SpringBoot整合RabbitMQ【三】
|
28天前
|
消息中间件 JSON Java
开发者如何使用轻量消息队列MNS
【10月更文挑战第19天】开发者如何使用轻量消息队列MNS
68 4
|
22天前
|
消息中间件 存储 Kafka
MQ 消息队列核心原理,12 条最全面总结!
本文总结了消息队列的12个核心原理,涵盖消息顺序性、ACK机制、持久化及高可用性等内容。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
|
26天前
|
消息中间件
解决方案 | 云消息队列RabbitMQ实践获奖名单公布!
云消息队列RabbitMQ实践获奖名单公布!
|
1月前
|
消息中间件 安全 Java
云消息队列RabbitMQ实践解决方案评测
一文带你详细了解云消息队列RabbitMQ实践的解决方案优与劣
69 8

相关产品

  • 云消息队列 MQ
  • 下一篇
    无影云桌面