在我的应用程序中,当我发送消息时,我使用回调中的元数据来保存记录的偏移量,以备将来使用。但是,有时metadata.offset()会返回-1,这会使以后的工作变得困难。为什么会发生这种情况?有没有一种方法可以在不消耗主题的情况下找到偏移量。编辑:我目前在确认0,当我通过确认1我没有这些错误了,但我的性能急剧下降。从10秒到1分钟的10万条信息。
laximzn51#
acks=0如果设置为0,则生产者将根本不等待来自服务器的任何确认。记录将立即添加到套接字缓冲区并被视为已发送。在这种情况下,无法保证服务器已收到记录,重试配置将不会生效(因为客户端通常不知道任何失败)。为每条记录返回的偏移量将始终设置为-1。这并不完全正确,因为在10万条消息中,我得到了95k条带有偏移量的消息,但我猜这是正常的。仍然需要找到另一个解决方案来获得ack=0的偏移量
1条答案
按热度按时间laximzn51#
acks=0如果设置为0,则生产者将根本不等待来自服务器的任何确认。记录将立即添加到套接字缓冲区并被视为已发送。在这种情况下,无法保证服务器已收到记录,重试配置将不会生效(因为客户端通常不知道任何失败)。为每条记录返回的偏移量将始终设置为-1。
这并不完全正确,因为在10万条消息中,我得到了95k条带有偏移量的消息,但我猜这是正常的。仍然需要找到另一个解决方案来获得ack=0的偏移量