高水位机制下数据丢失风险分析.pdfVIP

  • 0
  • 0
  • 约1.49千字
  • 约 2页
  • 2026-09-09 发布于北京
  • 举报

基于之前提到的高水位机制,可能会导致一些问题,例如数据丢失。

假如生产者的最小同步副本数设置为1,这会导致生产者发送消息给者,者成功

写入日志后,生产者就认为写操作成功,此时假设生产者发送了两条数据给者,

者成功写入。

此时者的日志结束偏移量=1,高水位标记=0,因为追随者尚未同步,高水位标记肯定是0

接着追随者发送获取请求,此时者发现追随者的日志结束偏移量=0,所以高水位标记还

是0,给追随者带回去的高水位标记也是0,然后追随者开始同步数据并写入了两条数据,自己

的日志结束偏移量=1,但是高水位标记=0,因为者的高水位标记为0

接着追随者再次发送获取请求过来,自己的日志结束偏移量=1,者发现自己日志结束偏

移量=1,追随者的日志结束偏移量=1,所以高水位标记更新为1,同时会把高水位标记=1带

回给追随者,但是此时追随者尚未更新高水位标记的时候,高水位标记还是0

这个时候假如说

从节点

机器宕机了,重启机器,从节点的

日志结束偏移

会自动被调整为

0,因为

会依据高水位标记

来调整日志结束偏移,而且自己的那两条数据会被从日志文件中删除,数据就丢失了。

这个时候如果

主节点

宕机,就会

从节点为

主节点,此时

高水位标记

=0,接着

文档评论(0)

1亿VIP精品文档

相关文档