我从这里读过,对分区日志有些不确定。
首先他们说:
对于每个主题,Kafka集群维护一个分区日志,该日志 看起来像这样:
然后他们显示图片:
他们也说
日志中的分区有多种用途。首先,他们允许 日志的规模将超出可容纳在一台服务器上的大小。每 单个分区必须适合承载该分区的服务器,但是一个主题 可能有许多分区,因此它可以处理任意数量的数据。 其次,它们充当并行性的单元-稍后对此进行详细介绍。
我是否正确理解:
答案 0 :(得分:1)
一个主题包含1个或多个分区。创建主题时,您可以指定分区数,创建后也可以添加分区。
Kafka会将分区分布在群集中尽可能多的代理上。如果您只有一个经纪人,那么他们将全部位于此经纪人上。
来自同一主题的许多分区可以位于同一代理上。这种情况一直存在,因为大多数集群只有十二个代理,并且拥有50个分区并不罕见,因此,来自同一主题的多个分区将位于同一代理上。
医生说的是,分区是无法拆分的单元。是否在经纪人上。而主题只是具有相同名称和配置的分区的集合。
答案 1 :(得分:1)
回答您的问题:
对于由 b 代理组成的Kafka集群以及具有 p 分区的主题,每个代理将大致容纳 p / b 分区作为主副本。它们也可能包含副本分区,但这取决于您的复制因素。因此,例如如果您有一个3节点群集,并且主题 test 具有6个分区,则每个节点将有2个分区。
是的,肯定可以。扩展上一点,如果您有两个主题 test1 和 test2 ,每个主题有6个分区,那么每个代理总共将拥有4个分区(每个主题2个)。
我猜在图中,您将经纪人标签为集群。