RabbitMQ开发规范:命名、消息格式与生产者规则
需积分: 5 149 浏览量
更新于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 上传
2018-01-18 上传
zhqlee
- 粉丝: 6
- 资源: 1
最新资源
- ES管理利器:ES Head工具详解
- Layui前端UI框架压缩包:轻量级的Web界面构建利器
- WPF 字体布局问题解决方法与应用案例
- 响应式网页布局教程:CSS实现全平台适配
- Windows平台Elasticsearch 8.10.2版发布
- ICEY开源小程序:定时显示极限值提醒
- MATLAB条形图绘制指南:从入门到进阶技巧全解析
- WPF实现任务管理器进程分组逻辑教程解析
- C#编程实现显卡硬件信息的获取方法
- 前端世界核心-HTML+CSS+JS团队服务网页模板开发
- 精选SQL面试题大汇总
- Nacos Server 1.2.1在Linux系统的安装包介绍
- 易语言MySQL支持库3.0#0版全新升级与使用指南
- 快乐足球响应式网页模板:前端开发全技能秘籍
- OpenEuler4.19内核发布:国产操作系统的里程碑
- Boyue Zheng的LeetCode Python解答集