继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

RocketMQ线上事故分析记录

九州编程
关注TA
已关注
手记 475
粉丝 42
获赞 203

背景介绍

  1. RocketMQ版本

公司最近引入了阿里云的RocketMQ 企业铂金版本,由阿里云平台完全托管,能够在微服务、分布式系统和无服务应用程序之间,提供基于消息的可靠异步通信机制,轻松构建松耦合、可扩展、高可用分布式系统。

  1. 计费价格

image.png

image.png

整体来说价格公道,最主要用起来省事不少

问题由来

  1. 由于系统并发使用量较大,在每次的重启过程中都有消息莫名丢失
  2. 经排查很快发现了原因是由于封装的RocketMQ组件未设置安全的启动与关闭

解决方案

1.增加安全启动与关闭接口

2.在应用或者bean初始化后延迟启动RocektMQ,避免程序初未初始化完成导致消息没有被成功消费

image.png

3.同样的在程序关闭或者重启也需要安全关闭RocketMQ

image.png

4.加上事件监听应用停止和关闭双重保障

image.png

总结

引入一个中间件或组件时,需要完整了解其启动、关闭、运行机制,避免出现非运行时问题导致事故

作者:消灭知识盲区
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP

相关阅读

消息中间件入门