Home

Awesome

关于我们

RabbitMQ Plus

使用指南
开发指南
部署指南

背景

  Sia-rabbitmq-plus是公司2013年开发的一个项目。最早只是一个简单的封装好的rabbitmq客户端,随着接入的业务越来越多,业务方提出了很多新的需求。于是我们在rabbitmq的基础上新增了消息队列监控预警提醒,历史消息消费情况查看,详细日志查看,客户端心跳监测等功能,这些功能极大提高了我们查看发现问题,解决问题的效率。

项目简介

  Sia-rabbitmq-plus工作流程是客户端(生产者或消费者)通过rabbitmq接口发送或者消费消息,同时将客户端元信息(ip,队列名称,项目名称,预警值等)发送给心跳监测队列。 定时任务定时收集rabbitmq相关的队列数据,同时监测预警值发送预警信息。主要包含以下几个模块

  1. 客户端(sia-rabitmq-plus-client)
    主要提供了消费和发送消息的api接口
  2. MQ信息收集模块(sia-rabbitmq-plus-gather)
    http方式调用rabbitmq的接口采集rabbitmq相关信息
  3. 心跳监测模块 (sia-rabbitmq-plus-heartbeat)
    收集客户端生产者和消费者的心跳数据
  4. 监控前端展示模块(sia-rabbitmq-plus-display)
    将收集到的mq信息和心跳数据展示在前台页面
  5. 消息队列使用客户端demo模块(sia-rabbitmq-plus-demo)
    一个springoot工程如何使用sia-rabbitmqPlus

  监控流程如下: 监控流程

RabbitMQ的特性

  消息队列中间件(Message Queue Middleware ,简称为MQ) 是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。作为众多消息中间件之一的RabbitMQ发展到今天被越来越多的人认可,这和它在易用性、扩展性、可靠性和高可用性等方面的卓著表现是分不开的。

  RabbitMQ 的具体特点可以概括为以下几点。

Sia-rabbitmq-plus特性

RabbitMQ队列服务集群化,支持动态增删集群节点。增加镜像队列,预防单点故障。

支持动态增删消费线程以适应消息的处理。每个监听队列都有一个线程池提供服务,用户可自定义消费处理线程池。

去中心化管理,相关配置信息本地化,简单方便。

所有收发的消息在本地用单独的日志文件存储,方便数据恢复与排错。

增加对线上队列的实时监控,触发预警时及时通知到个人。

1 . 点对点模式:Provider生产消息发送到队列中,Consumer绑定队列获取消息。

2 . 发布订阅模式: Provider将消息发送给Exchange,然后Consumer创建Queue绑定到Exchange接收消息。

3 . 同步链条模式:模拟系统间同步请求调用,实现机制与之前版本完全保持一致,但不作推荐使用

监控页面预览

监控页面可以直观的看到每个队列的消费情况、预警邮箱、接收的ip、发送的ip。通过颜色区分队列的健康情况,以及最多7天的历史消息信息。具体查看使用指南

Sia-rabbitmq-plus重要指标

关键术语

SIA相关开源产品链接:

(待补充)