Kafka:主题与分区数据

Kafka: Topic vs Partition data

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

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

a topic can be broken down into partitions and each partition can be hosted on a different server. This gives redundancy and scalability

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