- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第6章Kafka分布式发布订阅消息系统《Spark大数据分析与实战(第2版)》
学习目标/Target了解消息队列,能够说出消息队列的主要应用场景熟悉Kafka的概念,能够叙述Kafka的优点熟悉Kafka的基本架构,能够叙述Kafka基本架构的内容掌握Kafka的工作流程,能够叙述生产者生产消息过程和消费者消费消息过程
学习目标/Target掌握Kafka集群的搭建,能够独立完成部署Kafka集群掌握Kafka的基本操作,能够使用Shell命令和ScalaAPI操作Kafka掌握KafkaStreams,能够使用KafkaStreams实现单词计数功能
章节概述/SummaryKafka是一个高吞吐量的分布式发布订阅消息系统,适用于实时计算系统。通常情况下,使用Kafka能够构建系统或应用程序之间的数据管道,用来转换或响应实时数据,使数据能够及时地进行业务计算,得出相应结果。本章将针对消息队列简介、Kafka简介、Kafka工作原理、Kafka集群的搭建以及KafkaStreams进行详细讲解。
目录/Contents010203消息队列简介Kafka简介Kafka工作原理
目录/Contents04搭建Kafka集群05Kafka的基本操作06KafkaStreams
消息队列简介6.1
6.1消息队列简介了解消息队列,能够说出消息队列的主要应用场景。学习目标
6.1消息队列简介消息队列(MessageQueue,简称MQ)是分布式系统中的一个关键组件,用于存储消息,它的作用是将待传输的数据存放在队列中,以便生产者和消费者可以并行地处理数据,而无须等待对方的响应。通过消息队列,生产者可以将消息发送到队列,而消费者可以从队列中获取消息进行处理。这种解耦的设计模式使得系统的可伸缩性和可靠性得到提高,同时也减少了系统间的依赖性。
消息队列既然能够用来存储消息,那么消息队列的主要应用场景有哪些呢?6.1消息队列简介
6.1消息队列简介异步处理系统解耦流量削锋123
6.1消息队列简介1.点对点消息传递模式在点对点(PointtoPoint,P2P)消息传递模式下,消息生产者将消息发送到特定队列,消息消费者从队列中拉取或轮询以获取消息。
6.1消息队列简介2.发布订阅消息传递模式在发布/订阅(Publish/Subscribe)消息传递模式下,消息生产者将消息发送到消息队列中,所有消费者会即时收到并消费消息队列中的消息。
Kafka简介6.2
6.2Kafka简介熟悉Kafka的概念,能够叙述Kafka的优点。学习目标
6.2Kafka简介Kafka是一个基于ZooKeeper系统的分布式发布订阅消息系统,它使用Scala和Java语言编写,该系统的设计初衷是为实时数据提供一个统一、高吞吐﹑低延迟的消息传递平台。在0.10版本之前,Kafka只是一个消息系统,主要用来解决异步处理、系统解耦等问题,在0.10版本之后,Kafka推出了流处理的功能,使其逐渐成为了一个流式数据平台。
6.2Kafka简介Kafka在大数据领域中的应用非常普遍,它能够在离线和实时两种大数据计算场景中处理数据,这得益于Kafka的优点。高吞吐,低延迟可扩展性持久性容错性支持多种语言Kafka可以每秒处理数量庞大的消息,并且具有较低的延迟。Kafka是一个分布式系统,用户可以根据实际应用场景自由动态地扩展Kafka服务器。Kafka可以将消息存储在磁盘上,以确保数据的持久性。Kafka会将数据备份到多台服务器中,即使Kafka集群中的某一台服务器宕机,也不会影响整个系统的功能。Kafka支持Java、Scala、PHP、Python等多种语言,这使得开发人员在不同语言环境下使用Kafka更加便捷。
Kafka工作原理6.3
6.3.1 Kafka的基本架构熟悉Kafka的基本架构,能够说出Kafka基本架构的内容。学习目标
6.3.1 Kafka的基本架构Kafka的基本架构由Producer、Broker、Consumer和ZooKeeper构成,他们之间共同协作,构建了高效、可靠的消息处理系统。
6.3.1 Kafka的基本架构ProducerBrokerBroker作为Kafka中的消息代理,是存储和管理消息的载体,每个Broker都可以看作是Kafka服务。存储在Broker中的消息基于Topic进行分类和组织。ConsumerConsumer作为Kafka中的消费者,负责消费Topic中的消息,一旦Consumer成功消费了消息,Consumer记录自身已消费消息的offset。生产者即数据的发布者,该角色将消息发布到Kafka集群的Topic中。ZookeeperZooKe
文档评论(0)