【问题标题】:Any advantages splitting up Kafka Topics拆分Kafka主题的任何优势
【发布时间】:2018-09-20 09:27:04
【问题描述】:

我正在开发一个应用程序/Kafka 集群,它将为一个主题生成/消费消息(大约每秒 100k)。消息格式相同,所以我最初的想法是为所有消息设置一个主题。

但是,Kafka 将消息拆分为多个主题有什么好处?有一个可以应用的逻辑分离,可以将主题分成多个(10ish)主题。

除了生产者/消费者方面。 Kafka 本身是否对性能、冗余、稳定性、管理等有任何偏好,因为它拥有 1 个大主题而不是多个小主题?

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

    主题分区是并行化 Kafka 的常用方法,但是如果需要,您也可以选择将其拆分为多个主题。但我会首先研究事物的分区方面。 Here is a good Confluent article 关于如何选择正确数量的分区。特别要注意的是,如果您在键上进行分区,那么事后添加分区可能会导致数据拆分,因此请尽可能提前考虑清楚。

    【讨论】:

    • 是的,分区是我们一直关注的,并且有很好的分区策略。因此,拆分为多个主题似乎不会提供任何明显的好处。谢谢!
    【解决方案2】:

    kafka 中的并行度取决于主题中的分区数。只要分区数是最优的,数据的吞吐量就会增加(不必要的大量分区会产生开销)。通过增加分区数消费者,您可以同时从分区流式传输消息

    【讨论】:

      猜你喜欢
      • 2019-01-04
      • 1970-01-01
      • 2019-10-09
      • 2020-01-01
      • 2016-07-23
      • 2015-03-05
      • 2016-10-01
      • 1970-01-01
      相关资源
      最近更新 更多