Apache kafka 卡夫卡经纪人是如何工作的,即使是在集群中

Apache kafka 卡夫卡经纪人是如何工作的,即使是在集群中,apache-kafka,apache-zookeeper,Apache Kafka,Apache Zookeeper,我已经配置了三个zookeeper节点集群,其中两个代理连接到zookeeper集群 我创建了一个主题,用于在发送消息时进行测试用例故障转移或丢失 基于consumer group示例,我运行了两个consumer shell来使用消息 我已经发送了一个文本文件数据,如逐行..生成消息 在最后一个测试用例中,我关闭了所有zookeeper节点和一个代理 不过,我仍然能够用一个代理生成和使用全部消息。怎么可能呢 这是我的架构这解释了动物园管理员在卡夫卡中的角色 回答你的问题。客户端将一直工作到下一

我已经配置了三个zookeeper节点集群,其中两个代理连接到zookeeper集群

我创建了一个主题,用于在发送消息时进行测试用例故障转移或丢失

基于consumer group示例,我运行了两个consumer shell来使用消息

我已经发送了一个文本文件数据,如逐行..生成消息

在最后一个测试用例中,我关闭了所有zookeeper节点和一个代理

不过,我仍然能够用一个代理生成和使用全部消息。怎么可能呢

这是我的架构

这解释了动物园管理员在卡夫卡中的角色

回答你的问题。客户端将一直工作到下一次刷新元数据为止。客户端获取它所连接的主题的元数据(如果不可用),如分区及其前导。现在,一旦有了这些代理,它就直接与这些代理连接,并生成/使用消息,除非领导者发生变化,并且直到元数据的下一次刷新。元数据刷新是周期性的操作

metadata.max.age.ms 以毫秒为单位的时间段,在此时间段之后,我们强制刷新元数据,即使我们没有看到任何分区领导权的变化,以主动发现任何新的代理或分区