关注
Kafka发送消息接收的完整流程:
1. Producer发送消息:例如,一个在线商城的订单系统将新订单信息发送到Kafka集群。
2. 分区与路由:假设订单消息被路由到名为"orders"的主题,并根据订单ID的哈希值被分配到不同的分区。
3. 消息写入:Kafka Broker收到订单消息后,根据分区的配置将消息追加到对应分区的日志文件中。比如,订单消息被追加到分区1的日志文件中,并生成相应的索引。
4. 消息复制:为确保消息的持久性和高可用性,Kafka将分区1的数据复制到其他Broker的对应分区。例如,分区1的副本可能存在于Broker1、Broker2和Broker3上。
5. Consumer拉取消息:一个订单处理服务的Consumer从"orders"主题拉取消息。假设消费者从分区1的领导者拉取数据。
6. Consumer处理消息:订单处理服务收到订单消息后,执行订单处理逻辑,比如更新库存、生成发货通知等。
Kafka的特性:
1. 分布式与可扩展:Kafka集群中的各个Broker协同工作,处理大规模的订单数据流,从而保证系统的扩展性。
2. 消息持久性:订单消息被持久化到磁盘,即使Broker故障,也能保证消息不丢失。
3. 高吞吐量:Kafka设计用于处理大量的订单数据,能够以较低的延迟实现高吞吐量的消息处理。
4. 多订阅者模式:除了订单处理服务,可能还有其他服务需要消费订单消息,比如统计分析服务或者客户通知服务。
Kafka如何保证消息的顺序性和一致性可以通过以下数据例子进一步说明:
- 顺序性:假设订单消息按照订单ID的哈希值被分区,那么同一个订单的消息将被分配到同一个分区,并且在该分区内保持顺序。因此,同一个订单的处理操作将保持顺序执行。
- 一致性:由于Kafka采用多副本机制,每个分区都有一个领导者负责处理写入请求,其他副本则同步领导者的数据。当领导者故障时,Kafka会进行自动的领导者选举,确保数据一致性和可用性。
查看原帖
1 评论
相关推荐
07-08 12:45
吉林大学 硬件开发 现在深挖技术还来得及:大厂
我这个地方基本部门组里就我一个 同事要不出差 要不就是另一个地方办公
实习搭子来的第二周就去上海出差了,到现在还没回来
点赞 评论 收藏
分享
06-23 12:08
广州大学 硬件测试 小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
07-11 15:12
门头沟学院 Java 程序员小白条:实习就是摸鱼,只是公司指标,把你进来了,可能那时候客户很多,但等你进来的时候,已经是淡季了,根本没多少需求,或者说根本不适合实习生去完成,因此你就每天干坐着就行,可能1,2个月都没需求
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习生的蛐蛐区 #
53888次浏览 403人参与
# 说说你知道的学历厂 #
38752次浏览 233人参与
# 你认为小厂实习有用吗? #
20519次浏览 248人参与
# 计算机有哪些岗位值得去? #
16901次浏览 158人参与
# 应届生,你找到工作了吗 #
21141次浏览 152人参与
# 哪一瞬间觉得自己长大了 #
9874次浏览 220人参与
# 面试尴尬现场 #
32023次浏览 216人参与
# 你找工作的时候用AI吗? #
18660次浏览 231人参与
# 下班后的时间你怎么安排 #
10220次浏览 140人参与
# 烟草笔面经互助 #
17840次浏览 184人参与
# 社会教会你的第一课 #
36306次浏览 458人参与
# 电网笔面经互助 #
36891次浏览 357人参与
# 秋招最大的收获是什么? #
36104次浏览 309人参与
# 三一重工求职进展汇总 #
13371次浏览 60人参与
# lastday知无不言 #
58270次浏览 475人参与
# 材料人,你们签了哪个公司 #
7473次浏览 17人参与
# 你的领导最像哪种动物,为什么? #
14332次浏览 106人参与
# 学历贬值真的很严重吗? #
22395次浏览 163人参与
# 你上一次加班是什么时候? #
87618次浏览 572人参与
# 考研人,我有话说 #
138936次浏览 1155人参与