Kafka订阅推送实验:掌握安装部署与消息处理.pdfVIP

  • 0
  • 0
  • 约6.5千字
  • 约 4页
  • 2026-01-26 发布于北京
  • 举报

Kafka订阅推送实验:掌握安装部署与消息处理.pdf

实验二十七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,那这就是发布-

文档评论(0)

1亿VIP精品文档

相关文档