- 0
- 0
- 约6.5千字
- 约 4页
- 2026-01-26 发布于北京
- 举报
实验二十七Kafka订阅推送示例
27.1实验目的
1.掌握Kafka的安装部署;
2.掌握Kafka的topic创建及如何生成消息和消费消息;
3.掌握Kafka和Zookeeper之间的关系;
4.了解Kafka如何保存数据及加深对Kafka相关概念的理解。
27.2实验要求
在三台机器上(以slave1,slave2,slave3为例),分别部署一个broker,Zookeeper使
用的是单独的集群,然后创建一个topic,启动模拟的生产者和消费者,在生产者端
向topic里写数据,在消费者端观察到的数据。
27.3实验原理
27.3.1Kafka简介
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的中
的所有动作流数据。它了类似于JMS的特性,但是在设计实现上完全不同,此外它
并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为
Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例
(server)成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper来
保证系统可用性集群保存一些meta信息。如图27-1所示:
图27-1
一个Topic的多个partitions,被分布在kafka集群中的多个server上;每个server(kafka
实例)负责partitions中消息的读写操作;此外kafka还可以配置partitions需要备份的个数
(replicas),每个partition将会被备份到多台机器上,以提高可用性。
基于replicated方案,那么就意味着需要对多个备份进行调度;每个partition都有一个
server为leader;leader负责所有的读写操作,如果leader失效,那么将会有其他follower来
接管(成为新的leader);follower只是单调的和leader跟进,同步消息即可..由此可见作为
leader的server承载了全部的请求,因此从集群的整体考虑,有多少个partitions就意味
着有多少个leader,kafka会将leader均衡的分散在每个实例上,来确保整体的性能稳定。
生产者:Producer将消息发布到指定的Topic中,同时Producer也能决定将此消息归属
于哪个partition;比如基于round-robin方式或者通过其他的一些算法等。
消费者:本质上kafka只支持Topic.每个consumer属于一个consumergroup;反过来说,
每个group中可以有多个consumer.发送到Topic的消息,只会被订阅此Topic的每个group
中的一个consumer消费。
如果所有的consumer都具有相同的group,这种情况和queue模式很像;消息将会在
consumers之间负载均衡。
如果所有的consumer都具有不同的group,那这就是发布-
您可能关注的文档
最近下载
- 第五章++地理区域和界线(单元复习)-+2023-2024学年八年级地理下册同步精品课堂(粤人版).pptx VIP
- 考点08二次函数与方程不等式之间的关系(原卷版+解析).docx VIP
- 征兵心理测试题及答案.docx
- 区委社会工作部副部长2024-2025年度民主生活会发言提纲四个带头.docx VIP
- 2024-2025学年河南省郑州市中原区六年级(上)期末语文试卷(全解析版).docx VIP
- 兴业证券-机器学习系列八-MEGA~GRU,如何结合股票的时序、截面和关联信息.pdf VIP
- 中考英语总复习网上课堂教学质量检测 五.docx VIP
- 开发者技术及生态发展2030.pptx
- (高清版)G-B∕T 17626.5-2019 电磁兼容 试验和测量技术 浪涌(冲击)抗扰度试验.pdf VIP
- 第五单元周长·提高篇【八大考点】2025年三年级数学上册典型例题系列(原卷版)北师大版.docx VIP
原创力文档

文档评论(0)