0

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

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

4

1 回答 1

1

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

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

在此处输入图像描述

于 2019-07-28T07:05:08.043 回答