【问题标题】:Kafka: Topic vs Partition dataKafka:主题与分区数据
【发布时间】:2019-12-05 21:07:14
【问题描述】:

通过阅读 Kafka 文档和其他各种资源,我了解到 Kafka 中的消息被组织成主题。此外,一个主题可以分解为多个分区,每个分区可以托管在不同的服务器上。这提供了冗余和可扩展性。

我不确定“破碎”这个词在这里是什么意思。这是否意味着如果添加到主题的消息是“1 2 3 4 5 6 7”,那么在将其分成多个分区之后,我们将有一个分区只有整个主题的一部分。就像一个分区有'1 2 3',而另一个分区有'4 5 6',而另一个分区只有'7'。或者这是否意味着每个分区都有“1 2 3 4 5 6 7”,这意味着我们有精确的副本。

【问题讨论】:

    标签: apache-kafka partition kafka-topic


    【解决方案1】:

    一个主题可以分解成多个分区,每个分区可以托管在不同的服务器上。这提供了冗余和可扩展性

    上面的说法是指——Kafka主题通常被划分为若干个partition。分区允许通过将数据拆分到不同的代理来并行化主题。如果一个主题仅包含一个分区,则数据驻留在单个代理上,并将按顺序读取。如果假设分区数为 3,则相同的数据将被分成 3 个分区,每个分区承载不同的事件集。您可以在 3 个并行进程中读取主题,每个进程从一个分区读取。您拥有的分区数量越多,您可以实现的可扩展性就越大。 是的,每个分区将只有数据子集。

    【讨论】:

      猜你喜欢
      • 2017-04-03
      • 2015-03-05
      • 2016-10-01
      • 2018-02-16
      • 1970-01-01
      • 2016-05-28
      • 2021-07-15
      • 1970-01-01
      相关资源
      最近更新 更多