如何解决在汇合的kafka go中阅读来自kafka主题的消息时,如何使用确认?
我正在开发一个推式通知,该通知将许多消息发送给客户端。消息被发布到主题中,而订阅者从同一主题中读取消息。在从主题偏移读取消息后立即出现错误的情况下,即使我无法发送消息,我的订阅服务器也需要阅读下一条消息并将其发送。错误是指服务器宕机或严重的故障。
如何阅读带有确认的消息?
解决方法
我不确定我是否理解你的意思
在从主题偏移量读取消息后立即出现错误的情况下 增加,即使我无法发送消息我的订阅服务器 需要阅读下一封邮件并将其发送
我了解到的是,您要管理消费者处理确认的方式(属于_consumer_offsets)。
因此,Kafka允许消费者通过在__consumer_offsets主题中向Kafka发送消息来跟踪其在每个分区中的位置(偏移)。
3个可用选项:
- 自动提交:使用 enable.auto.commit = true ,每隔auto.commit.interval.ms(默认5s)自动提交一次。
- 同步提交:使用commitSync()显式同步提交,它会提交poll()返回的最新偏移量,并在失败之前重试,直到获得确认为止。
- 异步提交:以前的方法要等到代理响应确认提交后,事情才会变慢。我们可以使用commitAsync(),它不会阻塞,并且在失败时不会重试。它更快。我们可以将回调传递给commitAsync()。
因此,基本上,您可以让提交被自动处理。同步提交并等待代理的确认或通过回调异步提交。
希望这能回答您的问题。
最诚挚的问候。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。