【通用行业开发部】记一次rocketMq的踩坑经历

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 遇到的极小众问题:阿里云RocketMq的死分区与假堆积

※技术组件:阿里云RocketMq
※业务场景:上游系统A将商家变更后数据,通过rocketMq消息通知我项目进行同步更改
※时间背景:项目上线后连续平稳运行一段时间的某天晚上
※异常发现:收到钉钉机器人的告警信息:topicxxx的消息堆积量已达xxx条。登录阿里云mq的控制台,显示topic状态异常,消息堆积状态。
※异常排查:
1、首先怀疑服务问题,紧急检查ECS服务器状态-->全部正常
2、检查mq消费者微服务所在pod状态-->全部正常
3、检查生产环境服务运行日志-->正常
4、搜索告警topic的近期消费日志-->正常
排查到这里其实就已经有点头大了,业务检查没有任何异常,mq的控制台又不能展示具体堆积的消息详情。
抓耳挠腮好一会儿之后,既然不能通过服务发现问题,就索性走一遍流程,看能不能复现问题。于是趁着夜深人静打开pod节点实时日志,然后通过mq的控制台手动发送了一条测试消息,结果!竟然!日志打印了! mq消费没问题!emm,这就TM的离谱,看着控制台上红色的消息堆积状态,我陷入了深深的沉思...
确认服务消费没问题就好办了,第二天直接提了个阿里云工单咨询,结果工单小哥也没遇见过这种问题,历经许久并且用掉了一次技术专家答疑,才最终得到了
原因:死分区与假堆积,通俗点说就是某个节点长时间没有消息生产和消费,rocketMq会不能准确的监测到这个节点的状态,进而给出虚假的消息堆积告警。
※问题修复:
1、根据业务场景和生产日志,梳理出可能存在长时间没有消息消费的节点
2、针对这些节点增加定时发送消息(心跳)的逻辑。
※总结:
1、还是有必要了解选用技术一些可能隐藏的坑,不至于遇到问题时候手忙脚乱
2、技术选型和技术方案还是要根据业务和功能来确定,像本案例其实是不适用mq的(应该设计之初是有mq的通道,不愿再增加一种新的交互方式)

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
消息中间件 架构师 Java
史上最细最强大的RocketMQ实现分布式事务解决方案教程|Java 开发实战(上)
史上最细最强大的RocketMQ实现分布式事务解决方案教程|Java 开发实战
886 0
史上最细最强大的RocketMQ实现分布式事务解决方案教程|Java 开发实战(上)
|
存储 Java 测试技术
【通用行业开发部】阿里开源TransmittableThreadLocal使用经验记录
本文章主要记录我在一次业务优化中,使用线程池带来的子父线程值传递问题,及使用TransmittableThreadLocal来解决该问题的经验,并对TransmittableThreadLocal原理做些梳理。
|
消息中间件 程序员 Apache
阿里RocketMQ创始人首次分享出这份RocketMQ技术内幕神级架构手册
RocketMQ的发展史? RocketMQ的开源正是源于对这种开源文化的认同,开放是为了更好的协同创新,并将这一技术推向新的高度。在经历了阿里巴巴集团内部多年“双11”交易核心链路工业级场景在验证,2016年11月,团队将RocketMQ捐献给全球享有盛誉的Apache软件基金会正式质为孵化项目。 至此,RocketMQ开启了迈向全球顶级开源软件的新征程。
|
消息中间件 存储 分布式计算
分享一份京东大数据大牛私藏:Kafka核心设计与实践原理
Kafka起初是由LinkedIn 公司采用Scala语言开发的一一个多分区、多副本且基于ZooKeeper协调的分布式消息系统,现已被捐献给Apache基金会。目前Kafka已经定位为一个分布式流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Storm、Spark、Flink等都支持与Kafka集成。
|
消息中间件 存储 安全
【Alibaba中间件技术系列】「RocketMQ技术专题」小白专区之领略一下RocketMQ基础之最!
【Alibaba中间件技术系列】「RocketMQ技术专题」小白专区之领略一下RocketMQ基础之最!
180 6
|
消息中间件 RocketMQ
《行业实践:RocketMQ 业务集成典型行业应用和实践》电子版地址
阿里云消息队列自商业化以来,服务了云上来自互联网、电商、金融、政企等众多行业数万家企业客户,积累了大量行业生产实践案例。本次分享将集中以行业应用案例为背景介绍RocketMQ在多行业的功能应用,并给出常见的误区和避坑分享,帮助企业客户更科学地使用消息队列进行业务架构解耦和集成。
117 0
《行业实践:RocketMQ 业务集成典型行业应用和实践》电子版地址
|
消息中间件 运维 Kafka
呕心沥血20万字《Kafka运维与实战宝典》免费开放下载了
呕心沥血20万字《Kafka运维与实战宝典》免费开放下载了
|
消息中间件 存储 Cloud Native
与字节、小米、移动云等企业一起揭秘 RocketMQ 实践之道
作为面向开源及消息领域的顶级项目,2022 年 7 月 21 日-7 月 22 日,RocketMQ Summit 如约而至,近四十个优质议题与讨论,等待你的参与!
与字节、小米、移动云等企业一起揭秘 RocketMQ 实践之道
|
消息中间件 Cloud Native Java
期待已久的 RocketMQ Summit 等待你的参与!
作为国内重要的开源项目,为了帮助更多企业、开发者、开源贡献者了解 Apache RocketMQ 并加入其中,促进 Apache RocketMQ 及其开源生态繁荣发展。由 RocketMQ 中文社区主办,阿里云云原生应用平台、天池社区承办的 RocketMQ Summit 2022 全球开发者峰会正式拉开帷幕!
期待已久的 RocketMQ Summit 等待你的参与!
|
消息中间件 存储 Cloud Native
与顶级互联网公司技术大佬面对面聊聊RocketMQ吧!
随着消息基础架构的云原生化演进,RocketMQ 也开始探索消息领域的后处理场景,以及消息的流式处理和轻计算,帮助用户实现消息的就近计算和分析,并将全面拥抱 Serverless 和 EDA。那么,现在一线大厂在哪些新场景在使用 RocketMQ,社区最近又有新的功能演进?想要了解这些,那就快来参加 Apache RocketMQ MeetUp - 北京站线下活动吧!
475 2
与顶级互联网公司技术大佬面对面聊聊RocketMQ吧!