kafka 0.9.0的单个分区上的多个python使用者线程

ocebsuys  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(366)

在上下文中,我试图将python工作进程转换为基于kafka(0.9.0)的体系结构,但我对分区相对于使用者线程的限制感到困惑。一个分区上有多个使用者会导致同一分区上的其他线程等待当前线程完成吗?

q43xntqr

q43xntqr1#

我其实不确定Kafka0.9,还没有必要去彻底检查新的设计,但这是不可能在v8引擎。
对于低级别使用者,这当然是不可能的,但是我也认为,如果您分配的线程多于高级别使用者中的分区,那么每个分区在任何时候都只有一个线程处于活动状态。这就是为什么我们说kafka中的并行性是由分区数决定的(对于一个主题,分区数可以动态增加)。
仔细想想,这将需要在消息级别上协调使用线程之间的关系,这将不利于性能。v0.8中的使用者组用于将线程->分区分配作为kafka的职责,而不是在单个分区上协调多个线程。
现在,它可能在0.9中改变了,但是我非常怀疑。
[编辑]现在我再次阅读你的问题,希望我正确理解了你的问题。我的意思是,每个分区有多个使用者(不是使用者线程)是一件很正常的事情(每个使用者线程都有自己的偏移量),所以我假设您询问的是线程/分区的关系。

相关问题