消息队列 RabbitMQ 遇上可观测--业务链路可视化
简介: 本篇文章主要介绍阿里云消息队列 RabbitMQ 版的可观测功能。RabbitMQ 的可观测能力相对开源有了全面的加强,为业务链路保驾护航。
作者:文婷、不周
本篇文章主要介绍阿里云消息队列 RabbitMQ 版的可观测功能。RabbitMQ 的可观测能力相对开源有了全面的加强,为业务链路保驾护航。
消息队列 RabbitMQ 简介
阿里云消息队列 RabbitMQ 版是一款基于高可用分布式存储架构实现的 AMQP 0-9-1 协议的消息产品,兼容开源 RabbitMQ 客户端,解决开源各种稳定性痛点(例如消息堆积、脑裂等问题),同时具备高并发、分布式、灵活扩缩容等云消息服务优势。

阿里云消息队列 RabbitMQ 的可观测能力相对开源有了全面的加强,那么什么场景下可以用到可观测能力呢?
为什么需要强大的可观测能力
随着分布式和云原生架构的兴起,系统的可观测性在问题排查、系统运维,甚至业务运营方面起到越来越重要的作用。
场景一:线上消息消费有异常,消息不能及时被处理,需要及时收到报警,并快速定位问题;
场景二:线上某些订单状态有异常,需要排查对应的消息链路环节是否正常发送消息;
场景三:需要分析消息流量变化趋势、流量分布特点或消息体量,进而进行业务趋势分析规划;
场景四:需要查看和分析应用上下游依赖拓扑情况,进行架构升级优化或改造。
消息队列 RabbitMQ 可观测能力
结合上文的内容,下面具体对阿里云消息队列 RabbitMQ 的可观测性的两个核心功能进行介绍。
核心优势
- 可观测 Dashboard 大盘
1、优化性能,具备超强稳定性;
2、一键开箱,降低搭建成本;
3、呈现清晰,问题资源一眼可见。


- 可观测消息轨迹
1、可实现多种问题场景的筛查和搜索能力;
2、支持图形化展示复杂的轨迹信息,使用更加便捷。


可观测 Dashboard 大盘
- 应用场景
使用 Prometheus 监控服务和 Grafana 的指标存储和展示能力,消息队列 RabbitMQ 版为企业版和铂金版实例提供 Dashboard 大盘功能。通过该功能,您可以查看实例、Vhost、Queue 和 Exchange 的各种指标数据,帮助您及时发现和定位问题。

- 功能特点
1、多维度组合查询能力:可以从集群、Vhost、Exchange、Queue 多维度聚合查询数据;
2、排序能力:同一指标下,资源按照健康状况倒序排序,一眼看到集群中最有问题的资源;
3、丰富的指标数据:消息量、连接数、堆积量、关键接口请求数据等。
可观测消息轨迹
- 应用场景
如果消息收发不符合预期,您可以通过查询消息轨迹,快速分析历史消息收发详情和定位问题原因,及时恢复业务。
- 功能介绍
1、查询能力

- 按 Queue 查询:查询一定时间范围内,Queue 上的所有消息的轨迹。适用于只知道消息发送到的 Queue,不知道发送消息时设置的 Message ID 的模糊查询场景。
- 按 Message ID 查询:根据 Message ID 的精确查询指定消息。Message ID 设置为和业务相关的唯一 ID。
- 按消息处理耗时:根据消息处理耗时(消息投递给消费者开始时间到消费者处理完成返回应答的时间)大于指定时间来查询消息轨迹。
2、轨迹内容

- 查看生命周期的各阶段时间:消息到达时间、投递时间、应答时间、进死信时间等;
- 查看消息流转链路信息:消息从生产者到 Exchange 到 Queue 到消费者的链路拓扑信息;
- 查看生产者、消费者信息:IP 地址、账号 ID;
- 查看失败原因:发送失败、消费失败原因、进死信原因等。

点击此处,进入官网了解更多详情~
消息队列 RabbitMQ 遇上可观测--业务链路可视化的更多相关文章
- .NET 开源工作流: Slickflow流程引擎高级开发(七)--消息队列(RabbitMQ)的集成使用
前言:工作流流程过程中,除了正常的人工审批类型的节点外,事件类型的节点处理也尤为重要.比如比较常见的事件类型的节点有:Timer/Message/Signal等.本文重点阐述消息类型的节点处理,以及实 ...
- 消息队列RabbitMQ业务场景应用及解决方案
目录 0. 博客参考 1. 背景 2. 技术选型 3. 消息队列的几个常见问题 4. 代码功能开发及测试 4.1 生产者 4.2 消费者 5. 源代码 6.补充:消息的顺序性 0. 博客参考 http ...
- (二)RabbitMQ消息队列-RabbitMQ消息队列架构与基本概念
原文:(二)RabbitMQ消息队列-RabbitMQ消息队列架构与基本概念 没错我还是没有讲怎么安装和写一个HelloWord,不过快了,这一章我们先了解下RabbitMQ的基本概念. Rabbit ...
- ASP.NET Core消息队列RabbitMQ基础入门实战演练
一.课程介绍 人生苦短,我用.NET Core!消息队列RabbitMQ大家相比都不陌生,本次分享课程阿笨将给大家分享一下在一般项目中99%都会用到的消息队列MQ的一个实战业务运用场景.本次分享课程不 ...
- 消息队列rabbitmq/kafka
12.1 rabbitMQ 1. 你了解的消息队列 rabbitmq是一个消息代理,它接收和转发消息,可以理解为是生活的邮局.你可以将邮件放在邮箱里,你可以确定有邮递员会发送邮件给收件人.概括:rab ...
- 消息队列rabbitmq rabbitMQ安装
消息队列rabbitmq 12.1 rabbitMQ 1. 你了解的消息队列 生活里的消息队列,如同邮局的邮箱, 如果没邮箱的话, 邮件必须找到邮件那个人,递给他,才玩完成,那这个任务会处理的很麻 ...
- C#中使用消息队列RabbitMQ
在C#中使用消息队列RabbitMQ 2014-10-27 14:41 by qy1141, 745 阅读, 2 评论, 收藏, 编辑 1.什么是RabbitMQ.详见 http://www.rabb ...
- node使用消息队列RabbitMQ一
基础发布和订阅 消息队列RabbitMQ使用 1 安装RabbitMQ服务器 安装erlang服务 下载地址 http://www.erlang.org/downloads 安装RabbitMQ 下载 ...
- (一)RabbitMQ消息队列-RabbitMQ的优劣势及产生背景
原文:(一)RabbitMQ消息队列-RabbitMQ的优劣势及产生背景 本篇并没有直接讲到技术,例如没有先写个Helloword.我想在选择了解或者学习一门技术之前先要明白为什么要现在这个技术而不是 ...
- nodejs操作消息队列RabbitMQ
一. 什么是消息队列 消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已.其主要用途:不同进程Process/ ...
随机推荐
- 寒武纪加速平台(MLU200系列) 摸鱼指南(三)--- 模型移植-分割网络实例
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- 记录--开局一张图,构建神奇的 CSS 效果
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 假设,我们有这样一张 Gif 图: 利用 CSS,我们尝试来搞一些事情. 图片的 Glitch Art 风 在这篇文章中 --CSS 故障 ...
- Oracle数据库对比MySQL
基本 Oracle默认端口:1521 默认用户:system MySQL默认端口:3306 默认用户:root 连接MySQL: mysql -u root -p -- 输入密码 -- 查询所有数据库 ...
- 《Effective Java》笔记 4~5
4. 类和接口 15. 使类和成员的可访问性最小化 把API与实现清晰地隔离开,组件间通过API进行通信,不需要知道其他模块的内部工作情况,这称为:实现信息隐藏或封装 解耦系统中的各个组件 尽可能地使 ...
- 基于proteus的4026的二分频计数
基于proteus的4026的二分频计数 1.芯片原理 4026还是一个CMOS芯片,是直接输出段码的计数器.显然,这个芯片的作用就是和七段数码管配合,直接将计数结果显示在数码管上.这里只是用于分频, ...
- ABC327 A-F
vp on 2023.11.12 A: 使用 string 的 find,find 在找不到时会返回string::npos. B.C:略. D 发现原题相当于二分图判定. E 线性DP. F 原题相 ...
- MVC架构设计浅析(WEB网页开发)
MVC架构设计浅析 杨传伟 (石家庄铁道大学信息科学与技术学院,河北省,石家庄市,050043) 摘 要:本文以图书管理系统为案例(当前主流框架SpringMVC的原理来分析MVC的设计理念等),深入 ...
- Python---time对象的使用获取时间
https://www.jb51.net/article/49326.htm 1.time.time() 它返回当前时间的时间戳(1970纪元后经过的浮点秒数). 如果调用这个函数,如: print ...
- ET8开发微信小游戏之部署云服务器Nginx代理
最近用ET8搞微信小游戏测试,部署到云服务器,手机上运行,必须要用https备案过得域名,客户端使用websocket创建必须要wss开头,服务端部分通过Nginx进行https通信之后转发到云服务器 ...
- #区间dp#CF1114D Flood Fill
题目 有一个长度为\(n\)的颜色序列,在游戏前选择一个固定的位置, 若当前轮该位置的颜色为\(x\),那么可以将所有颜色为\(x\)的连通块改为任意颜色, 问最少进行多少轮使得区间\([1,n]\) ...