能说说kafka通信过程原理吗?

提问者:帅平 问题分类:面试刷题
能说说kafka通信过程原理吗?
2 个回答
Rae
Rae 管理员
1、首先kafka broker启动的时候,会去向Zookeeper注册自己的ID(创建临时节点),这个ID可以配置也可以自动生成,同时会去订阅Zookeeper的brokers/ids路径,当有新的broker加入或者退出时,可以得到当前所有broker信息
2、生产者启动的时候会指定bootstrap.servers,通过指定的broker地址,Kafka就会和这些broker创建TCP连接(通常我们不用配置所有的broker服务器地址,否则kafka会和配置的所有broker都建立TCP连接)
3、随便连接到任何一台broker之后,然后再发送请求获取元数据信息(包含有哪些主题、主题都有哪些分区、分区有哪些副本,分区的Leader副本等信息)
4、接着就会创建和所有broker的TCP连接
5、之后就是发送消息的过程
6、消费者和生产者一样,也会指定bootstrap.servers属性,然后选择一台broker创建TCP连接,发送请求找到协调者所在的broker
7、然后再和协调者broker创建TCP连接,获取元数据
8、根据分区Leader节点所在的broker节点,和这些broker分别创建连接
9、最后开始消费消息
发布于:5个月前 (01-03) IP属地:未知
Rae
Rae管理员
发布于:5个月前 (01-03) IP属地:未知
我来回答