在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
Kafka消息的分发流程是什么?使用kafka向指定Topic发送消息时,如果该Topic具有多个partition,无论消费者有多少,最终都会保证一个partition内的消息只会被一个Consumer group中的一个Consumer消费,也就是说同一Consumer group中的多个Consumer自动会起到负载均衡的效果。
Kafka消息的分发介绍:
• Producer客户端负责消息的分发
• kafka集群中的任何一个broker都可以向producer提供metadata信息,这些metadata中包含”集群中存活的servers列表”、“partitions leader列表”等信息;
• 当producer获取到metadata信息之后, producer将会和Topic下所有partition leader保持socket连接;
• 消息由producer直接通过socket发送到broker,中间不会经过任何”路由层”。事实上,消息被路由到哪个partition上由producer客户端决定,比如可以采用”random””key-hash””轮询”等。
• 如果一个topic中有多个partitions,那么在producer端实现”消息均衡分发”是必要的。
• 在producer端的配置文件中,开发者可以指定partition路由的方式。
• Producer消息发送的应答机制
设置发送数据是否需要服务端的反馈,有三个值0,1,-1
– 0: producer不会等待broker发送ack
– 1: 当leader接收到消息之后发送ack
– -1: 当所有的follower都同步消息成功后发送ack
request.required.acks=0
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
零基础Java在线学习方式有哪些?
零基础Java在线学习方式有哪些?总结起来,基本上就是四种方式,即多阅读相关书籍,观看学习视频,实战练习敲代码,与在线老师交流沟通。无论是在线自学也好,还是报线上的培训班,最有效的Java学习方式,也就是以上这些。下面小编来详细为大家讲解Java在线学习具体要怎么做。
6374
2019-09-29 10:31:58
电脑编程入门自学Java指南
随着Java近些年来的强劲发展,想要转行学习Java的初学者也越来越多了。然而,入门自学Java并不是一件轻松的事情。众所周知,万事开头难,尤其是没有编程语言基础的学习者,不仅仅需要付出更多的心血和汗水,还需要科学地制定学习规划,下面小编为大家准备了一份电脑编程入门自学Java指南,内容包括了Java的学习内容和路径,赶紧来一起看看吧!
5627
2019-12-30 15:15:34
Java编程语言基础知识进阶学习路线及目标
Java编程语言基础知识进阶学习内容及学习目标,此阶段学习具备JavaSE基本开发技巧,可胜任简单单机应用程序。对企业JavaWeb开发深入了解,为JavaWeb学习提供基础。Java编程语言基础主要学习Git工具、面向对象、常用API、、异常、集合、IO、多线程、网络编程、Lambda、反射等知识。
5896
2020-04-16 16:04:12
Java编程是什么?怎么学?
Java是一门面向对象编程语言,吸收C++语言优点的同时,摒弃了C++里难以理解的多继承、指针等概念,具有功能强大和简单易用两个特征。Java的其他特点还包括简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等。应用方面Java也是十分厉害,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
5318
2020-06-16 15:35:23
Java运算符知识点总结
拥有程序思维的第一步,就是要学会用计算机、或者说编写程序帮我们处理数据,而不是我们自己动手。Java语言中有很多进行数据运算的方式,就如前面所说,包括但不限于:算术运算、比较运算、逻辑运算、赋值运算、三目运算等。每一种运算方式,又都包含了很多的运算符,学习Java中的运算,就是学习这些运算符的使用。下面一起来看看Java运算符知识点总结吧!
5171
2020-08-11 16:39:51
