【发布时间】:2017-10-30 00:27:00
【问题描述】:
我正在使用storm-kafka api从具有3个副本和70个分区的kafka主题中读取消息,我正在使用的kafka spout有15个执行程序,因为我没有70个执行程序,所以可能会丢失消息执行者?
如何确保 kafka 中的所有消息都被消费者接收到?
谢谢
【问题讨论】:
标签: apache-kafka apache-storm kafka-consumer-api
我正在使用storm-kafka api从具有3个副本和70个分区的kafka主题中读取消息,我正在使用的kafka spout有15个执行程序,因为我没有70个执行程序,所以可能会丢失消息执行者?
如何确保 kafka 中的所有消息都被消费者接收到?
谢谢
【问题讨论】:
标签: apache-kafka apache-storm kafka-consumer-api
默认情况下,Kafka 为您已经知道已发送到 Kafka 的数据提供至少一次交付保证。如果您的消费者实例少于消费者组的分区,则将根据您的分区分配策略为消费者分配多个分区。默认情况下,它使用 RangeAssignor。您可以阅读有关 Kafka here 的交付语义的更多信息。
【讨论】: