文档详情

第6章 Kafka分布式发布订阅消息系统.pptx

发布:2025-04-26约1.86万字共10页下载文档
文本预览下载声明

第6章Kafka分布式发布订阅消息系统

《Spark大数据分析与实战(第2版)》

了解消息队列,能够说出消息队列的主要应用场景

熟悉Kafka的概念,能够叙述Kafka的优点

掌握Kafka的工作流程,能够叙述生产者生产消息过程和消费者消费消息过程

熟悉Kafka的基本架构,能够叙述Kafka基本架构的内容

学习目标/Target

掌握KafkaStreams,能够使用KafkaStreams实现单词计数功能

掌握Kafka的基本操作,能够使用Shell命令和ScalaAPI操作Kafka

掌握Kafka集群的搭建,能够独立完成部署Kafka集群

学习目标/Target

Kafka是一个高吞吐量的分布式发布订阅消息系统,适用于实时计算系统。通常

情况下,使用Kafka能够构建系统或应用程序之间的数据管道,用来转换或响应实时数据,使数据能够及时地进行业务计算,得出相应结果。本章将针对消息队列简介、Kafka简介、Kafka工作原理、Kafka集群的搭建以及KafkaStreams进行详细讲解。

章节概述/Summary

01消息队列简介

02Kafka简介

03Kafka工作原理

目录/Contents

搭建Kafka集群

Kafka的基本操作

KafkaStreams

04

05

06

目录/Contents

消息队列简介

6.1

6.1消息队列简介

学习目标

了解消息队列,能够说出消息队

列的主要应用场景。

消息队列(MessageQueue,简称MQ)是分布式系统中的

一个关键组件,用于存储消息,它的作用是将待传输的数据存放在队列中,以便生产者和消费者可以并行地处理数据,而无须等待对方的响应。通过消息队列,生产者可以将消息发送到队列,而消费者可以从队列中获取消息进行处理。这种解耦的设计模式使得系统的可伸缩性和可靠性得到提高,同时也减少了系统间的依赖性。

6.1消息队列简介

消息队列既然能够用来存

储消息,那么消息队列的主要应用场景有哪些呢?

6.1消息队列简介

6.1消息队列简介

1异步处理

2系统解耦

3流量削锋

在点对点(PointtoPoint,P2P)消息传递模式下,消息生产者将消息发送到特定队列,消

息消费者从队列中拉取或轮询以获取消息。

消费者

消费者消费者

1.点对点消息传递模式

6.1消息队列简介

生产者消息队列

在发布/订阅(Publish/Subscribe)消息传递模式下,消息生产者将消息发送到消息队列中,

所有消费者会即时收到并消费消息队列中的消息。

2.发布订阅消息传递模式

生产者消息队列

6.1消息队列简介

6.2Kafka简介

学习目标

熟悉Kafka的概念,能够叙述

Kafka的优点。

Kafka是一个基于ZooKeeper系统的分布式发布订阅消息系

统,它使用Scala和Java语言编写,该系统的设计初衷是为实时数据提供一个统一、高吞吐、低延迟的消息传递平台。在0.10版本之前,Kafka只是一个消息系统,主要用来解决异步处理、系统解耦等问题,在0.10版本之后,Kafka推出了流处理的功能,使其逐渐成为了一个流式数据平台。

6.2Kafka简介

6.2Kafka简介

Kafka在大数据领域中的应用非常普遍,它能够在离线和实时两种大数据计算场景中处理数据,

这得益于Kafka的优点。

Kafka支持Java、Scala、PHP、

Python等多种语言,这使得开发人员在不同语言环境下使用Kafka更加便捷。

Kafka会将数据备份到多台服务器中,即使Kafka集群中的某一台服务器宕机,也不会影响整个系统的功能。

Kafka是一个分布式系统,用户可以根据实际应用场景自由动态地扩展Kafka服务器。

Kafka可以每秒处理数量庞大的消息,并且具有较低的延迟。

Kafka可以将消息存储在磁盘上,以确保数据的持久性。

高吞吐,低延迟

支持多种语言

可扩展性

持久性

容错性

Kafka工作原理

6.3

6.3.1Kafka的基本架构

学习目标

熟悉Kafka的基本架构,能够说

出Kafka基本架构的内容。

Kafka的基本架构由Producer、Broker、Consumer和ZooKeeper构成,他们之间共同协作,

构建了高效、可靠的消息处

显示全部
相似文档