因为一台物理机内存故障导致操作系统异常重启,我的年终奖怕是悬了

本文讲述了因物理机内存故障导致RocketMQ集群中一台机器重启,引发的消息发送超时问题。通过对故障的分析,揭示了RocketMQ路由注册与剔除机制存在的问题,以及客户端未能及时感知NameServer变化的原因。提出了最佳实践,包括分离nameserver和broker部署,以增强系统的健壮性。
摘要由CSDN通过智能技术生成

前段时间发生一次很“悲催”的事,临近年末我维护的生产MQ集群中的一台物理机内存故障导致操作系统异常重启,在10分钟内众多的应用发送客户端出现消息发送超时,事故并定性为S1,而我今年的“年终奖”怕是悬了。。。

1、故障描述

RocketMQ 集群采取的部署架构为2主2从,其部署架构如下图所示:

图片

其部署架构中一个非常明显的特点是一台物理机上分别部署了 nameserver,broker 两个进程。

其中一台机器(192.168.3.100)的内存出现故障,导致机器重启,但Linux操作系统由于重启需要自检等因素,整个重启过程竟然持续了将近10分钟,客户端的发送超时持续10分钟,这显然是不能接受的!!!

RocketMQ的高可用设计何在?接下来我们将详细介绍其分析过程。

2、故障分析

当得知一台机器故障导致消息发送超时持续10分钟,我的第一反应是不应该呀,因为 RocketMQ 集群是分布式部署架构,天然支持故障发现与故障恢复,消息发送客户端能自动感知 Broker 异常的的时间绝对不会超过10分钟,那故障又是怎么发生的呢?

首先我们来回顾一下RocketMQ的路由注册与发现机制。

2.1 R

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值