KafkaandZookeeper原理与应用场景介绍.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? Kafka 是一个分布式流数据处理平台 ? 流数据处理平台必须具备 三个关键功能 : 1. 它允许你发布订阅流数据,在这方面,他 类似一个消息队列或企业级消息系统(消 息中间件) 2. 它让你存储的流式数据具有容错机制 3. 它让你能实时处理流式数据 Kafka 概述 1 2020/3/6 ? Topic 、 Partition 、 Producer 、 Consumer ? 消息从 producer 到 topic 用 push ? 消息从 topic 到 consumer 用 pull Kafka 关键概念 2 2020/3/6 ? partition 、 consumer group ? 每个 topic 的消息会广播给每个 consumer group ,但是每条消息在某个 group 内只有一 个 consumer 能收到。 ? 组内的消费者数量不要大于 topic 的分区数 Kafka 关键概念 3 2020/3/6 ? Partition ? 每个分区内的数据保证数据的先后顺序, 不同分区内的数据无法保证。 Kafka 关键概念 4 2020/3/6 ? Partition 、 Replication ? 每个分区的外部读写都在 leader 上,所以不 同分区 的 leader 会均衡分布在 Broker 集群上 Kafka 关键概念 5 2020/3/6 ? Broker 、 Zookeeper Broker 是 kafka 的服务实例,无中心节点,通过 Zookeeper 完成分区 leader-follower 的切换 Kafka 关键概念 6 2020/3/6 ? 日志收集 应用程序可以把日志集中发到 kafka 中, 不需要记录到本地,再由专门的日志管理程 序从 kafka 中取处理。对于多个进程读写同一 个日志文件的场景,可以避免日志文件的加 锁操作。 也可以对 kafka 中的日志进行实时分析。 Kafka 应用场景 7 2020/3/6 ? 消息队列 Kafka 同一个 partition 内部的消息保证先 进先出,并且每条消息可以保证至少被消费 一次 (at least once) ,同一个 topic 内的消息可 以被多个组的消费者接收。 可以实现发布订阅和普通的先进先出队 列 Kafka 应用场景 8 2020/3/6 ? 数据 Table 记录转换为 Stream 通过指定条件定时把表中新增或者变更 的记录推到 kafka 中,实现用流式处理方式来 处理数据库的数据 Kafka 在 0.9 版本以后提供了 JdbcSource Connector 工具类用于把数据库数据写入 kafka , 目前支持自增 ID 列和时间列作为记录变化的 条件,当然也可以用 producer 的 api 来实现 Kafka 应用场景 9 2020/3/6 ? 分布式事件驱动 把事件集中存储到 kafka ,并分别放入同 一个 topic 下的多个分区,分区数量可以是事 件处理客户端实例数的 3-5 倍以上,这样便于 事件客户端动态增减和负载均衡。 客户端一次获取多个事件后,全部处理 完成再 commit offset 以保证事件至少被处理一 次,由于事件要求高可靠,在高可靠读写情 况下 Kafka 的性能下降比较明显 Kafka 应用场景 10 2020/3/6 ? 高性能的分布式应用协调服务 Zookeeper 介绍 ? 存储数据模型 11 2020/3/6 ? Znode ZooKeeper 数据模型的结构与文件系统很类似, 每个节点称做一个 Znode , ZooKeeper 的各种功能特性 都是通过 Znode 的操作和监控通知来实现, Znode 有四 种形式: 1 、 PERSISTENT 持久化目录节点,存储的数据不会丢失。 2 、 PERSISTENT_SEQUENTIAL 顺序编号的持久化目录节点,根据当前已近存 在的节点数自动加 1 ,节点名称在路径后 +0d ,例 如 /root/path0000000001 。 Zookeeper 关键概念 12 2020/3/6 3 、 EPHEMERAL 临时目录节点,一旦创建这个节点的客 户端与服务器端口也就是 session 超时,这种 节点会被自动删除。 4 、 EPHEMERAL_SEQUENTIAL 临时自动编号节点。 Zookeeper 关键概念 13 2020/3/6 ? Watcher Watcher 用于监控 ZNode 的变化, ZNode 上有相应的变化,就会触发这个 Watcher ,把 相应的事件通知给设置 Watcher 的 Client Watcher 是一次性的,触发后需要重新设 置才能继续监控 Znod

文档评论(0)

wq1987 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档