这句话我是从https://niqdev.github.io/devops/kafka/ 以及https://livebook.manning.com/book/kafka-streams-in-action/chapter-2/109 (Kafka在行动)
控制器代理负责为一个主题的所有分区设置引导者/跟随者关系。如果kafka节点死亡或无响应(对zookeeper心跳),则控制器代理将重新分配其所有分配的分区(包括前导分区和跟随分区)。
我认为将follower分区分配给其他代理是不正确的,因为除非代理返回,否则分区不会自行修复。我知道这只发生在leader replica中,如果拥有leader replica的代理失败,则包含follower的代理之一将成为leader。但是,我不认为“重新分配”的追随者会自动发生,除非重新分配是手动启动。请添加您的输入
1条答案
按热度按时间e4yzc0pl1#
这个术语可能确实有点离题,但仍然适用。follower不一定被分配给其他代理,但他们需要将端点更改为要发送fetch请求的位置。follower的工作是与leader保持同步,如果leader由于旧的代理失败而被分配给了新的代理,那么follower需要将其fetch请求发送给新选择的代理。我想这就是你分享的背景下重新分配的含义。