【发布时间】:2019-02-27 23:44:42
【问题描述】:
我是 Kafka 新手,正在寻求有关如何使用 Kafka 以实现以下消息模式的指导:
首先,我希望消息是异步,而且它需要“消费”,即单个消费者应该消费它,而其他消费者不能以后再吃。
这种消息模式的一个用例是当您有多个“交付服务”实例并且您希望这些实例中的一个仅使用消息时(假设由于某种原因无法利用幂等性)。
有人可以建议如何配置 Kafka Consumer 以实现上述目标吗?
【问题讨论】:
-
欢迎提供任何其他相关信息
-
我认为您误解了 Kafka 中“恰好一次”的含义,但是一旦阅读,消息就不会从主题中删除。消费者不会通知代理他们已读取数据,只提交消费者组的偏移量
-
非常感谢您的意见@cricket_007 我将再次讨论这些概念。你的评论很有趣。
-
在一个完美的世界里,消息永远不会被消费者组读取超过一次,但是会发生网络/应用程序故障,这可能导致偏移量不被提交,因此消费者将能够重新 -阅读消息,因为它必须从较早的偏移量重新开始......我个人没有玩过交易功能来了解消费者如何处理这些情况,但你可以在这里找到博客系列confluent.io/blog/enabling-exactly-kafka-streams
标签: apache-kafka kafka-consumer-api