- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Apachekafka入门篇工作原理简介.PDF
Apache kafka入门篇:工作原理简介
Spark大数据博客 -
Apache kafka入门篇:工作原理简介
消息队列
消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上, 队列
存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行--它们不需要知道彼
此的位置、或在继续执行前不需要等待接收程序接收此消息。在分布式计算环境中,为了集成分
布式应用,开发者需要对异构网络环境下的分布式应用提供有效的通信手段。为了管理需要共享
的信息,对应用提供公共的信息交换机制是重要的。常用的消息队列技术是 Message Queue。
Message Queue 的通讯模式
1、点对点通讯:点对点方式是最为传统和常见的通讯方式,它支持一对一、一对多、多对
多、多对一等多种配置方式,支持树状、网状等多种拓扑结构。
2、多点广播:MQ 适用于不同类型的应用。其中重要的,也是正在发展中的是多点广播应
用,即能够将消息发送到多个目标站点 (Destination List)。可以使用一条 MQ
指令将单一消息发送到多个目标站点,并确保为每一站点可靠地提供信息。MQ 不仅提供了多点
广播的功能,而且还拥有智能消息分发功能,在将一条消息发送到同一系统上的多个用户时,M
Q 将消息的一个复制版本和该系统上接收者的名单发送到目标 MQ 系统。目标 MQ
系统在本地复制这些消息,并将它们发送到名单上的队列,从而尽可能减少网络的传输量。
3、发布/订阅 (Publish/Subscribe) 模式:发布/订阅功能使消息的分发可以突破目的队列地
理指向的限制,使消息按照特定的主题甚至内容进行分发,用户或应用程序可以根据主题或内容
接收到所需要的消息。发布/订阅功能使得发送者和接收者之间的耦合关系变得更为松散,发送者
不必关心接收者的目的地址,而接收者也不必关心消息的发送地址,而只是根据消息的主题进行
消息的收发。
4、群集 (Cluster):为了简化点对点通讯模式中的系统配置,MQ 提供 Cluster(群集)
的解决方案。群集类似于一个域
(Domain),群集内部的队列管理器之间通讯时,不需要两两之间建立消息通道,而是采用群集
(Cluster) 通道与其它成员通讯,从而大大简化了系统配置。此外,群集中的队列管理器之间能够
自动进行负载均衡,当某一队列管理器出现故障时,其它队列管理器可以接管它的工作,从而大
大提高系统的高可靠性。
Apache Kafka 原理
Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)
和运营数据处理管道(Pipeline)的基础。现在它已被多家公司作为多种类型的数据管道和消息
系统使用。活动流数据是几乎所有站点在对其网站使用情况做报表时都要用到的数据中最常规的
部分。活动数据包括页面访问量(Page View)、被查看内容方面的信息以及搜索情况等内容。
这种数据通常的处理方式是先把各种活动以日志的形式写入某种文件,然后周期性地对这些文件
进行统计分析。运营数据指的是服务器的性能数据(CPU、IO
1 / 6
Apache kafka入门篇:工作原理简介
Spark大数据博客 -
使用率、请求时间、服务日志等等数据),总的来说,运营数据的统计方法种类繁多。
Kafka 专用术语
Broker :Kafka 集群包含一个或多个服务器,这种服务器被称为 broker。
Topic :每条发布到 Kafka 集群的消息都有一个类别,这个类别被称为 Topic。(物理上不同
Topic 的消息分开存储,逻辑上一个 Topic 的消息虽然保存于一个或多个 broker
上,但用户只需指定消息的 Topic 即可生产或消费数据而不必关心数据存于何处)。
Partition :Partition 是物理上的概念,每个 Topic 包含一个或多个 Partition。
Producer :负责发布消息到 Kafka broker。
Consumer :消息消费者,向 Kafka broker 读取消息的客户端。
C
文档评论(0)