zookeeper协同kafka工作原理的简单描述

简单图示:

Kafka本身可以作为集群,因为它就是一个分布式消息队列。但是kafka没有类似Hadoop的nodemanager管理datanode、resourcesmanager管理nodemanager的机制,它不能管理自己,所以需要借用zookeeper来管理资源。

Zookeeper是主从复制的,有一个leader,其他都是follower。Leader虽然是领导者,但是实际上所有数据和follower是一样的,是同步数据的,不过客户端的写操作只通过leader进行。

那么外部的请求怎么实现?大致有三步:

第一步为外部请求首先到zookeeper上的(因为数据同步,到哪一个服务器都可以,不需要是leader)。第二步通过zookeeper的元数据可以找到集群内部的服务器的api接口访问,将这个结果返回到外部请求。第三步是外部请求再带着api信息就能准确的找到对应的kafka服务器并发生请求。

需要注意的是这个过程外部请求并不直接通过Zookeeper来路由到Kafka服务器。

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值