RabbitMQ开发规范:命名、消息格式与生产者规则
需积分: 5 169 浏览量
更新于2024-08-05
1
收藏 241KB PDF 举报
"本文档主要介绍了RabbitMQ的开发规范,包括命名规范、消息传输格式以及生产者规范。"
在RabbitMQ的开发中,规范的制定对于系统的可维护性和稳定性至关重要。以下是对这些规范的详细解释:
1. 命名规范:
- **Exchange命名规范**:按照`EX.[SourceAppId].[模块名称].[数据业务名称1].[数据业务名称2].[数据业务名称3].[数据业务名称4]`的模式进行命名。`SourceAppId`代表消息来源的应用ID,各业务名称要求清晰明了,避免使用英语单词缩写或汉语拼音。例如,MES系统向NCC系统发送装配订单完工信息时,交换机名称可能是`EX.mes.assembly.finish.planorder`。
- **Routing Key命名规范**:遵循`RK.[SourceAppId].[数据业务名称1].[数据业务名称2].[数据业务名称3].[数据业务名称4]`的规则。同样,要求各部分具有可读性,不使用简写或拼音。如`RK.mes.finish.planorder`。
- **Queue命名规范**:使用`MQ.[SourceAppId].[TargetAppId].[数据业务名称1].[数据业务名称2].[数据业务名称3].[数据业务名称4]`。这表明消息源应用ID、目标应用ID和业务名称,确保队列命名的唯一性和可识别性。例如,MES到NCC的数据传输可能涉及队列`MQ.mes.ncc.finish.planorder`。
2. **消息传输格式**:所有消息都应以JSON格式进行封装,确保跨平台的兼容性和数据一致性。同时,消息内容需使用UTF-8编码,保证在不同系统间正确解码。
3. **生产者规范**:
- **数据传输方式**:RabbitMQ支持点对点和一对多的数据传输。生产者应优先考虑使用点对点的方式,如NCC向MES发送生产订单数据,确保数据只被MES消费,便于管理和监控。不过,推荐使用交换机(exchange)配合direct或topic类型,避免直接使用fanout,因为fanout会广播消息给所有绑定的队列,这可能导致不必要的复杂性和数据冗余。
总结起来,RabbitMQ开发规范旨在提高消息传递的清晰度、可维护性和效率。遵循这些规则能帮助开发者构建更加健壮和可扩展的系统,同时降低后期维护的难度。
2020-07-24 上传
2020-03-12 上传
2024-01-12 上传
2023-08-04 上传
2023-08-28 上传
点击了解资源详情
2017-03-27 上传
2019-10-10 上传
zhqlee
- 粉丝: 6
- 资源: 1
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍