阅读 2585

RocketMQ线上事故分析记录

背景介绍

  1. RocketMQ版本

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

  1. 计费价格

image.png

image.png

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

问题由来

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

解决方案

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

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

image.png

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

image.png

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

image.png

总结

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

文章分类
后端
文章标签