Kafka既有划分又有消费群体

mrfwxfqh  于 2021-06-08  发布在  Kafka
关注(0)|答案(2)|浏览(195)

我们可以对同一主题同时使用分区和使用者组吗。所以我们要创建一个有分区的主题,然后创建多个使用者,其中2-3个是通用的,监听所有消息(需要在一个使用者组中,这样消息就不会被多次处理),然后一个使用者负责特定的分区。
分区和使用者是互斥的吗?

rn0zuynd

rn0zuynd1#

使用高级消费api,您可以´t将使用者示例固定到特定的分区,但是没有什么可以阻止您拥有一组使用高级api的使用者和另一组使用同一主题的简单api的使用者。
有了它,您就可以有一个来自特定分区的简单使用者和一个使用者组中的一组高级使用者,它们跨所有分区使用消息。

lmyy7pcs

lmyy7pcs2#

kafka 0.8.x的高级使用者不允许您指定分区。它从所有分区读取数据,并执行复杂的故障检测和重新平衡。根据api的重新设计,未来的版本可能会支持它-https://cwiki.apache.org/confluence/display/kafka/consumer+client+re-design#consumerclientre-设计允许人工分区分配。
如果您需要阅读特定的主题和分区,请使用simpleconsumer(它需要手动的leader/offset/exclusive/error处理)。
或者您可以使用高级使用者并按分区过滤数据(如果您接受开销的话)。
也可以选择重新设计主题,将数据写入单独的主题,而不是“特定分区”。

相关问题