美文网首页
RabbitMq消息轨迹查询设计

RabbitMq消息轨迹查询设计

作者: linking12 | 来源:发表于2017-05-17 15:59 被阅读472次
消息轨迹查询的必要性

消息系统作为互联网行业削峰填谷的利器,是后端应用系统来进行异步解耦的重要工具;
而消息系统产生的消息也是应用系统数据流正确扭转的重要支撑。
为了保证消息轨迹(从那个地方产生,流向了那个地方)可查询,并且提供追本溯源的功能,是保证消息系统高可靠的一部分

消息轨迹查询的目标

规范化Rabbit的Exchange、RouteKey、Queue的使用
消息轨迹的查询及消息丢失后可进行消息回朔
对内部的消息进行分析及统计,能够预估Rabbit的容量规划及其他分析作用
增加消息剔重的操作,防止在网络抖动情况下,消息重复投递

架构方案
image.png
开发工作
  • sdk的开发(针对spring-rabbit)
    1)消息生成MessageId;Id格式暂定为: ProducerIP+日期时间戳
    1. 消息异步序列化到DB中,需要批量及异步,不能对业务放使用产生延迟
      3)将exchange、queue、两者申请api去除掉,需要去console中去申请
      4)消息剔重,防止在网络抖动情况下,消息会进行重复投递
  • Webconsole的开发
    1) Exchange的CURD操作
    2) Queue的CURD操作
    3) 消息轨迹的查询,提供查询方式有 Exchange、RouteKey、机器IP、消息发送时间、消息ID五种查询方式
    4) 消息补偿,提供在Console页面上重新入队的功能(此功能将不能保证消息的顺序)

相关文章

网友评论

      本文标题:RabbitMq消息轨迹查询设计

      本文链接:https://www.haomeiwen.com/subject/vhvdxxtx.html