0
点赞
收藏
分享

微信扫一扫

kafka事务疑问

北溟有渔夫 2022-03-11 阅读 72

当多个producer实例开启事务,往一个topic(比如三个分区)中发消息(这个batch中的消息需要发到这三个分区),如果在二阶段提交的第二个阶段中,部分分区的transaction marker设置失败,即有些分区的控制消息为commit,而有些没有,这时transaction coordinator是否会一直不断尝试去设置transaction marker,第一个问题是什么时候会认为失败?第二个问题是这种阻塞仅是阻塞一个producer,还是阻塞所有producer(多个produce往这个topic发消息的情况)?第三个问题,如果transaction coordinator判定为失败,会怎么处理?如果回退的话,之前由于部分分区的控制信息已经为commit,也就是说可能那些分区的消息已经被消费了,是否会造成不一致?或者回退再整体重发的话,又有可能造成消息重复。

举报

相关推荐

0 条评论