关于Apache·Kafka,我有几个问题。
单个分区是否可以分配给同一组中的多个使用者?
偏移量存储在哪里?它是在分区中还是在使用者处。
就像生产者总是将记录发布到前导分区,并将记录复制到其他分区一样,kafka使用者是否从前导分区读取数据?
假设,使用者正在从分区读取数据,而使用者正在运行一个长进程。在这种情况下,生产者更新分区的速度将快于使用者使用同一分区的速度。有没有办法加快分区的消耗速度?
我们能否在分区的提交日志中创建一个检查点,以便使用者可以从该特定的检查点开始处理?如果我想从一个特定的检查点开始执行审计,这会很有用吗?
1条答案
按热度按时间gopyfrb31#
单个分区是否可以分配给同一组中的多个使用者?
不,一个分区最多只能从同一个使用者组中的一个使用者中使用,如下所述:“这是通过将主题中的分区分配给使用者组中的使用者来实现的,以便每个分区正好由组中的一个使用者使用。”
偏移量存储在哪里?它是在分区中还是在使用者处。
每个消费群体的偏移量存储在一个名为
__consumer_offsets
如这里所述:“每个组的协调器是从内部偏移主题\uu consumer\u offsets的领导者中选择的,该主题用于存储提交的偏移。”就像生产者总是将记录发布到前导分区,并将记录复制到其他分区一样,kafka使用者是否从前导分区读取数据?
是的。leader分区是唯一一个“面向客户端”的分区,如下所述:“'leader'是负责给定分区的所有读写操作的节点。”。
编辑:
有没有办法加快分区的消耗速度?
加快消费的措施是增加主题的分区,这样就可以有更多的消费线程从该主题读取数据并并行处理数据。同时,您需要确保数据均匀地分布在各个分区中。