在Kafka,我怎样才能不丢失信息呢?

mspsb9vt  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(292)

我是Kafka的新手。我一直在测试Kafka发送信息的能力。
这就是我现在的处境。
本地虚拟机中的add.java定期向本地虚拟机中的kafka发送消息。
另一台服务器中的relay.java正在从本地vm中的kafka进行轮询,并生成到另一台服务器中的kafka。
当我从本地vm中的kafka向另一台服务器中的kafka发送消息时,
我把局域网电缆从我的笔记本电脑上拔了出来。几秒钟后,我又把局域网电缆接上了。
然后我发现一些信息在局域网电缆断开时丢失了。

但是,当网络重新连接时,我想得到所有断开连接的消息而不丢失。
有什么建议吗?
任何帮助都将不胜感激。

ax6ht2ek

ax6ht2ek1#

首先,我建议您使用mirrormaker(1或2),因为它正好支持消费和生产到另一个集群的用例。
其次, add.java 如果局域网断开连接,则不应丢弃消息。
不管你是不是在从 relay.java 取决于你的消费者和生产者的设置。例如,您应该明确地禁用自动偏移提交,并且仅在从其生产者操作获得完成事件和确认之后才进行提交。这将导致至少一次交付。
你可以在Kafka找到多篇关于处理担保的帖子

相关问题