图解分析:Kafka中producer和consumer如何知道分区leader在哪?

在Kafka技术专栏中,我们说leader是replicas 中的一个角色, producer 和 consumer 只跟 leader 交互。也就是说,leader 负责处理 partition 的所有读写请求,follower 则负责被动地去复制 leader 上的数据。

图解分析:Kafka中producer和consumer如何知道分区leader在哪?专栏Kafka v2.3 快速入门与实践作者:软件架构16.8币10人已购查看

那问题是Kafka中的producer和consumer如何知道分区的leader在哪里?

producer和consumer过去直接与Zookeeper连接,以获得这些信息。现在Kafka已经脱离了这种耦合,从0.8版和0.9版开始,客户端直接从Kafka brokers那里获取元数据信息,这些brokers会和Zookeeper进行元数据的同步。

图解分析:Kafka中producer和consumer如何知道分区leader在哪?专栏Spring Cloud微服务架构项目实战作者:软件架构22.8币13人已购查看

下图形象描述了元数据的同步,以及producer写入message的过程:

  • 发起元数据的请求;
  • 获取元数据的响应;
  • 写入对应的leader分区;
  • 图解分析:Kafka中producer和consumer如何知道分区leader在哪?

    图解分析:Kafka中producer和consumer如何知道分区leader在哪?专栏Kafka v2.3 快速入门与实践作者:软件架构16.8币10人已购查看

    来源:软件架构

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2019年10月15日
    下一篇 2019年10月15日

    相关推荐