如果我有比消费者更多的分区,我会丢失消息吗?

Can i lose messages if I have more partitions than consumers?

我正在使用 storm-kafka api 从具有 3 个副本和 70 个分区的 kafka 主题读取消息,我使用的 kafka spout 有 15 个执行程序,可能会丢失消息,因为我没有 70 个执行者?

如何确保消费者收到kafka中的所有消息?

谢谢

默认情况下,Kafka 至少为您已知已发送到 Kafka 的数据提供一次交付保证。如果您的消费者实例少于消费者组的分区,那么消费者将根据您的分区分配策略分配多个分区。默认情况下,它使用 RangeAssignor。您可以阅读有关 Kafka 的传递语义的更多信息 here