kafka消费者能从所有分区消费吗

ohtdti5x  于 2021-06-05  发布在  Kafka
关注(0)|答案(2)|浏览(493)

我有一个由多个使用者(同一组)使用的多分区主题。我的目标是最大化消费处理,即任何消费者都可以消费来自任何分区的消息。
我知道这看起来是不可能的,因为只有一个消费者可以从分区中消费。
是否可以使用rest代理来实现这一点?例如,轮询所有代理使用者示例。
谢谢。

vuktfyat

vuktfyat1#

最大化消耗处理的最佳方法是让一个使用者(同一组)从每个分区读取数据。
作为改进措施,您还可以回顾:
分区数量:您可以增加分区数量,以便能够添加更多的使用者并提高吞吐量
如何在分区之间平衡消息,一个错误的键选择可能会导致所有消息都到达同一分区
同时提醒一下,分区和使用者组只允许一个使用者,以避免并发问题。如果两个消费者提交不同的补偿,会发生什么?->你最终会阅读两次信息或跳过其中一些!

0x6upsns

0x6upsns2#

默认情况下,kafka消费者配置为从尽可能多的分区消费。如果您在同一主题上同时有多个使用者,使用相同的使用者组id,kafka将自动将卷分配给所有这些使用者。这是经过设计的,因此您可以通过添加更多的消费者来快速扩展消费。
您可以(可选)指示kafka使用者只使用特定分区的使用者,甚至包括下到一个分区,但必须显式地这样做。

相关问题