获取分区中最后提交的消息kafka

sycxhyv7  于 2021-06-06  发布在  Kafka
关注(0)|答案(0)|浏览(256)

我只使用了Kafka提供的一次语义。因此,我的生产者在事务中写入消息。我的制作人正在发送第100条信息,就在 send() 以及 commitTransaction() ; 我杀了制片人。
我读了我的主题中最后几条未提交的消息。

Consumer record offset - message number

0                     - 1
2                     - 2
196                   - 99  <- Last committed message by producer
198                   - 100 <- 100th message was sent but not committed

现在,当我和消费者 read_committed 隔离等级。它准确地读取1-99条信息。但为了这个,我读了整个主题。最终,我将在一个主题中存储数百万条消息。所以,阅读整个主题是不可取的。
另外,假设消费者正在轮询来自代理的消息,并且与kafka borker和消费者之间存在通信问题。消费者阅读的最后一条信息是偏移量50。这意味着我无法可靠地识别主题中最后提交的消息。
我用了其他方法。

seekToEnd() - took me to offset#200
endOffsets() - took me to offset#200

有没有一种方法可以可靠地获取Kafka制作人提交的消息(就我而言, Offset#196 )

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题