Kafka架构和原理机制(图文全面详解)
创作时间:
作者:
@小白创作中心
Kafka架构和原理机制(图文全面详解)
引用
1
来源
1.
https://cloud.tencent.com/developer/article/2146785
Apache Kafka是一种分布式发布-订阅消息系统,最初由LinkedIn开发,现已成为Apache顶级开源项目。本文将全面解析Kafka的基本架构、工作原理、Zookeeper的作用、核心特性以及典型应用场景。
一、Kafka简介
Apache Kafka是一个分布式发布-订阅消息传递系统。它最初由LinkedIn公司开发,于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka的主要应用场景包括日志收集系统和消息系统。
二、Kafka基本架构
Kafka的架构主要包括以下组件:
- 话题(Topic):特定类型的消息流。消息是字节的有效负载(Payload),话题是消息的分类名;
- 生产者(Producer):能够发布消息到话题的任何对象;
- 服务代理(Broker):已发布的消息保存在一组服务器中,它们被称为代理(Broker)或Kafka集群;
- 消费者(Consumer):可以订阅一个或多个话题,并从Broker拉数据,从而消费这些已发布的消息;
上图中可以看出,生产者将数据发送到Broker代理,Broker代理有多个话题topic,消费者从Broker获取数据。
三、Kafka基本原理
生产者将数据生产出来,交给Broker进行存储,消费者需要消费数据时,就从Broker中去拿出数据来,然后完成一系列对数据的处理操作。
多个Broker协同合作,Producer和Consumer部署在各个业务逻辑中被频繁的调用,三者通过Zookeeper管理协调请求和转发,这样一个高性能的分布式消息发布订阅系统就完成了。图上有个细节需要注意,Producer到Broker的过程是push,也就是有数据就推送到Broker,而Consumer到Broker的过程是pull,是通过Consumer主动去拉数据的。
四、Zookeeper在Kafka的作用
- 无论是Kafka集群,还是Producer和Consumer,都依赖于Zookeeper来保证系统可用性集群保存一些meta信息。
- Kafka使用Zookeeper作为其分布式协调框架,可以很好地将消息生产、消息存储、消息消费的过程结合在一起。
- Kafka借助Zookeeper,让生产者、消费者和Broker在内的所有组件,在无状态的情况下,建立起生产者和消费者的订阅关系,并实现生产者与消费者的负载均衡。
五、Kafka的特性
- 高吞吐量、低延迟:Kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition,consumer group对partition进行consume操作。
- 可扩展性:Kafka集群支持热扩展。
- 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失。
- 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)
- 高并发:支持数千个客户端同时读写。
六、Kafka的应用场景
- 日志收集:一个公司可以用Kafka收集各种服务的log,通过Kafka以统一接口服务的方式开放给各种consumer,例如:hadoop、Hbase、Solr等。
- 消息系统:解耦和生产者和消费者、缓存消息等。
- 用户活动跟踪:Kafka经常被用来记录web用户、或者app用户的各种活动,例如:浏览网页、搜索、点击等活动。这些活动信息,被各个服务器发布到Kafka的topic中,订阅者再通过订阅这些topic来做实时的监控分析,或者装载到hadoop、数据仓库中做离线分析和挖掘。
- 运营指标:Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈等,例如:报警和报告。
- 流式处理:例如:spark streaming、storm。
热门推荐
乾隆为什么主动退位?退位的原因是什么?
上海:改革创新不断优化 提升效率持续发力—精细化服务激发城市发展新动能
蒸面条菜怎么蒸出来松散不粘?
辣椒拌面制作教程:简单几步做出美味香辣拌面
Win11系统中如何管理用户账户,如何设置Windows用户权限?
三亚适合几月份去旅游最好,什么时候是去三亚度假的最好时候
爷爷奶奶对孙子的祝福语大全 爷爷给孙子的祝福语
陈醋和白醋有什么区别
文化认同:超越表层的文化符号,游戏还能传播什么?
“热死人”不是开玩笑,高温烤出“热射病”
168家企业齐聚武汉科技大学,学子们的求职新趋势是什么?
费用报销管理制度及流程在不同行业中有何不同?
长沙地铁7号线扩建计划:未来将成跨市交通枢纽
西安回民街:美食、文化與旅遊指南
上下屈服强度和规定塑性延伸强度及屈服强度的测试方法
毕业论文格式要求及字体大小的设置
客厅镜子摆放指南:位置选择与风水禁忌
人民日报:真正的高情商,藏在人际交往的9个细节中
为什么用一目十行形容读书速度快 一目十行主人公是谁
天干地支所表达的是什么,本质究竟为何物呢?
干支:纪年纪月纪日纪时 ——中国古代重要科技发明创造
研究发现:这4种坚果调节血脂效果最佳,很多人没吃对
声呐技术关键参数详解:声源级、传播损失、目标强度等定义与计算
C语言如何确定写题思路
如何制定一个有效的里程碑计划表以实现项目目标?
芬兰79%毕业生未上大学,揭秘北欧教育模式真相
“快递送货上门”新规满一年,效果如何? 看看收件人和送件人怎么说
如何防止商业机密被合作伙伴泄露
除湿袋里的"水"到底是什么?安全吗?
2025惹巴拉旅游景区门票价格+优惠政策+开放时间+景点介绍