请区分卡夫卡领袖(经纪人)和分区领袖。分区领导者也可以在跟随者中出现。当我们将信息发送给卡夫卡经纪人,它将直接发送给领导者和追随者基于分区?
发布于 2019-01-11 13:15:19
每个分区有一个服务器充当“领导者”,零个或多个服务器充当“追随者”。领导者处理分区的所有读写请求,而跟随者则被动地复制领导。
编辑
优化领导人选举进程也很重要,因为这是无法利用的关键窗口。当节点失败时,领导人选举的天真实现最终会为节点所在的所有分区运行每个分区的选举。相反,我们选择其中一个经纪人作为“控制器”。该控制器检测代理级的故障,并负责更改失败代理中所有受影响分区的领导。结果是,我们能够将许多所需的领导更改通知进行批量处理,这使得大量分区的选举过程更加廉价和快捷。如果控制器失败,幸存的经纪人之一将成为新的控制器。
发布于 2021-04-04 16:52:39
代理将消息写入仅对主题的分区领导者进行转发的消息,这些消息复制到跟随者分区。
如果领导分区失败,跟随者分区将替换领导分区。
什么是卡夫卡控制器?卡夫卡控制器是卡夫卡集群的大脑:经纪人领导被称为卡夫卡控制器。
其中一个代理充当活动控制器,一次只能有一个控制器。如果你找到2个控制器,这是一个小故障。
控制器监视代理的生动活泼,并对代理故障采取行动--即,如果代理死亡,则控制器将其主题分区的领导权分配给集群中的其余代理。
还负责选举主题分区领导。
动物园管理员从经纪人中选出一人作为控制器。代理控制器将选择一个分区作为领导。
当动物园管理员没有收到来自Controller的心跳消息时,会选择其中一个可用的代理作为新的控制器。
https://stackoverflow.com/questions/54145529
复制相似问题