一个kafka使用者用于多个主题,而一个使用者用于每个主题/分区

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

我正在研究数据摄取用例,其中数据来自多个主题,并且必须根据主题名称推送到多个表中。我试着理解所有主题都有一个使用者与每个主题/分区都有一个使用者有什么性能差异。

z5btuh9x

z5btuh9x1#

这两种方案之间的性能差异取决于代理、分区的数量以及预期的吞吐量。
当代理、分区和吞吐量的数量很高时,如果所有分区只有一个使用者,则很可能无法处理所有流量。
例如,如果您有5个代理,每个代理上有5个分区,并且每个分区的流量为5mb/s:
如果您只有一个使用者:它将需要连接到每个代理,并且必须处理5 x 5 x 5 mb/s=125mb/s。根据您的消费者配置,这可能是不可行的。即使您可以处理125mb/s的速度,但如果您最后添加更多的分区,这也不能很好地扩展。
如果您有多个使用者:每个使用者将获取分区的一个子集。对于5个用户,每个用户只需处理25mb/s,这在标准vm中很容易实现。
Kafka的消费群功能使得在飞行中添加消费者变得非常容易。因此,您可以只从一个消费者开始,并在吞吐量增加时添加更多消费者。

相关问题