NameServer的单点故障问题

来源:6-6 NameServer协调服务讲解

靈寶

2022-09-05

假设有3个master的broker,有3个NameServer。

如果broker-B向NameServer-A没有写成功(心跳失败),但是向ns-A,ns-C都写入成功了。
这种情况下,如果client请求ns-A,发现broker-B没有。也就是A-B服务器之间网络不通。(只是突然网络不通了,时间大于几次心跳时间,几分钟左右)
此时client会把topic-B写到其他机器上,但是实际上broker-B是活着的。

这样一来,就不能保证顺序性了。

即便有DLedger算法(raft协议),但是follower知道master还在,所以不会进行选举,这种怎么处理的。

写回答

1回答

阿神

2025-01-08

nameServer主要是用于热备,没有利用到raft协议。所以不存在出现不一致的问题。
broker采用的事raft算法,会按照木桶短板原理,处理最可靠的一致的数据
0
0

RocketMQ核心技术精讲与高并发抗压实战

理论+实战,系统掌握RocketMQ核心技术, 挑战高并发抗压实战

1182 学习 · 304 问题

查看课程