RocketMQ开发规范:顺序消息与延时特性详解
3 浏览量
更新于2024-08-04
收藏 529KB PDF 举报
本文档深入探讨了RocketMQ开发规范,一种高效且可靠的分布式消息中间件。RocketMQ版是基于Apache RocketMQ构建,它强调低延迟、高并发、高可用性和高可靠性,适用于分布式应用系统中的异步解耦和负载均衡,同时支持海量消息处理和高吞吐量。
**存储选型**
- **顺序消息**:针对性能需求高的场景, RocketMQ采用局部顺序策略,使用Sharding Key作为分区字段,确保同一分区内的消息顺序严格按照特定逻辑排列。
- **延时消息**:与RabbitMQ相比,RocketMQ提供了延迟消息支持,这对于有时间敏感需求的应用非常重要。
**可靠性**
RocketMQ提供了多种刷盘和复制策略,包括异步和同步方式,以保证数据持久化和容错性。Kafka则倾向于异步刷盘,但可能会牺牲一些可靠性,而RocketMQ的同步复制提供了更高的数据一致性。
**队列数限制**:
- Kafka在单机上限制了队列数量,超过64个可能导致性能下降;相比之下,RocketMQ单机支持高达5万个队列,性能更为稳定。
**消息回溯**:
- Kafka支持基于Offset的回溯,但精确度可能不如RocketMQ的毫秒级时间点回溯,后者允许用户精确到一天中的某个具体时间点。
**消费失败重试**:
- RocketMQ支持消费失败的定时重试机制,允许在指定间隔内自动重试,有助于提高消息处理的可靠性。
**命名规范**:
- 建议消息队列和消费者组名称具有清晰的命名规则,易于理解和管理,避免使用特殊字符,如空格、换行符等。
- 示例:MQ队列名遵循"MQ_业务领域_环境标识",如MQ_hub2lmis_create_wo_pro;消费者组名结构相同。
**消息体规范**:
- 不建议发送过大的消息,尤其是超过4MB的,这些数据通常会被存储在OSS中以节省内存。
- 消息体中的每个消息需设置唯一的业务标识键(key),便于定位和追踪。
**最佳实践**:
- **生产者注意事项**:推荐一个业务对应一个Topic,每个消息携带唯一的业务标识键,并适当记录日志,便于追踪消息生产和消费状态。
通过遵循这些开发规范,开发者可以充分利用RocketMQ的优势,确保分布式系统的高效运行和数据安全。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-12-19 上传
2022-12-19 上传
519 浏览量
426 浏览量
325 浏览量
浮生(FS)
- 粉丝: 324
- 资源: 28
最新资源
- RSVP协议的多媒体综合服务机制研究
- 计数器实验——数字电路实验
- VB入门教程.asp.doc(入门级哦)
- 51单片机C语言入门教程.pdf
- 46家各大公司笔试题
- JavaScript DOM 编程艺术.pdf
- Keil uv3快速入门.pdf
- 微控制器 (MCU) 破解秘笈之中文有删节版
- GIVEIO IO驱动的源代码
- 微软应用程序架构指南
- C#串口操作串口操作串口操作
- fsadfdsaarkdffasdfdggdd桌面\C++ STL使用手册.pdfASP.NET新闻、论坛、电子商城、博客源码 很经典的php面向对象教程
- C语言上机南开100题(2009年终结修订word版)
- 软件界面设计及编码标准规范
- 总线的简单项排球介绍
- Gzip压缩.docx