返回到文章

采纳

编辑于

kafka确定同步副本的机制不能保证消息传递的可靠性

kafka

kafka认为跟随者副本是同步的需要满足以下条件

  • 与zookeeper之间有一个活跃的会话,也就是说,在过去的6s(可配置)内向zookeeper发送过心跳

  • 在过去的10s(可配置)内从首领broker获取过最新的消息

疑问:
跟随者副本在10s内获取过最新的消息,但是还没获取完首领分区的broker宕掉,这个跟随者副本被认为是同步的,但实际消息是缺失的。

我认为确定跟随者副本是否同步除了满足以上条件外,还应该把首领分区接收到的最后一条消息偏移量和跟随者副本最后一条消息做对比,匹配成功就是同步副本。