kafka专题讲座系列讲座.pdf

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
– 什么是 Apache kafka 系统 – 我们为什么要搭建 Apache kafka 系 统 – 典型的Apache kafka 系统部署方式 – Apache kafka主要的设计理念 Apache kafka 安装与部署 – kafka的部署模式为3种模式 ⚫ 什么是 Apache kafka 系统 什么是 Apache kafka 系统 Apache kafka Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流 (activity stream )和运营数据处理管道 (pipeline)的基础。后贡献给 apache ,成为apache的一个顶级项目。 ⚫ 我们为什么要搭建 Apache kafka 系统 我们为什么要搭建 Apache kafka 系统 活动数据 用户相关行为数据,例如:PV,UV等 运营数据 系统性能指标( CPU利用率,磁盘利用率,IO使用率…..) 这些数据的特点: 数据不可变 数据量庞大 需实时处理 传统的消息队列不能很好的支持 (超长的未处理数据,不能有效持久化) ⚫ Apache kafka 系统部署方式 典型的Apache kafka 系统部署方式 ⚫ Apache kafka 主要设计理念 Apache kafka主要的设计理念 Kafka之所以和其它绝大多数信息系统不同,是因为下面这几个为数不多的比较 重要的设计决策: 1)Kafka在设计之时为就将持久化消息作为通常的使用情况进行了考虑。 2) Kafka主要的设计约束是吞吐量而不是功能。 3) Kafka有关哪些数据已经被使用了的状态信息保存为数据使用者 (consumer) 的一部分,而不是保存在服务器之上。 4) Kafka是一种显式的分布式系统。它假设,数据生产者 (producer)、 (brokers)和数据使用者 (consumer)分散于多台机器之上。 Apache kafka 基本的术语和概念 消息指的是通信的基本单位。由消息生产者 (producer)发布关于某话题 (topic)的消息,这句话的意 思是,消息以一种物理方式被发送给了作为 (broker)的服务器 (可能是另外一台机器)。若干的 消息使用者 (consumer)订阅 (subscribe)某个话题,然后生产者所发布的每条消息都会被发送给所有 的使用者。 Kafka是一个显式的分布式系统 ——生产者、使用者和 都可以运行在作为一个逻辑单位的、进行相 互协作的集群中不同的机器上。对于 和生产者,这么做非常自然,但使用者却需要一些特殊的支持 。每个使用者进程都属于一个使用者小组 (consumer group) 。准确地讲,每条消息都只会发送给每个 使用者小组中的一个进程。因此,使用者小组使得许多进程或多台机器在逻辑上作为一个单个的使用者 出现。使用者小组这个概念非常强大,可以用来支持JMS 中队列 (queue)或者话题 (topic)这两种语义 。为了支持队列语义,我们可以将所有的使用者组成一个单个的使用者小组,在这种情况下,每条消息 都会发送给一个单个的使用者。为了支持话题语义,可以将每个使用者分到它自己的使用者小组中,随 后所有的使用者将接收到每一条消息。在我们的使用当中,一种更常见的情况是,我们按照逻辑划分出 多个使用者小组,每个小组都是有作为一个逻辑整体的多台使用者计算机组成的集群。在大数据的情况 下,Kafka有个额外的优点,对于一个话题而言,无论有多少使 用者订阅了它,一条条消息都只会 一 次。 Apache kafka设计方案:消息持久化及其缓存 磁盘性能 方面最关键的一个事实是,在过去的十几年中,硬盘的吞吐量正在变得和磁盘寻道时间严重不一致了。 结果,在一个由6个7200rpm的SATA硬盘 组成的RAID-5磁盘阵列上,线性写入 (linear write)的速度大约是 300MB/秒,但随即写入却只有50k/秒,其中的差别接近10000倍。 简单的设计方案: 不是要在内存中保存尽可能多的数据并在需要时将这些数据刷新 (flush)到文

文档评论(0)

158****9376 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档