Logo
☆☆☆☆☆
0.0
Beginner
3h

使用Kafka构建可扩展的数据管道

如果你对大数据感兴趣,那么 Apache Kafka 是你必须了解的工具。 最初作为 LinkedIn 内部项目,用于简化服务间的数据传输与传播,Kafka 迅速发展成为构建高度可扩展数据管道的核心平台。认识 Apache Kafka —— 这一广泛应用于各类场景的数据管道构建工具,从追踪网站用户行为的时间序列数据,到实现发布-订阅消息 feeds,都能轻松应对。 本课程将带你了解 Kafka 的核心理论,并提供一个交互式的浏览器终端环境,让你可以直接在运行中的 Kafka 代理上执行 Kafka 命令。

10 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
使用Kafka构建可扩展的数据管道
如果你对大数据感兴趣,那么 Apache Kafka 是你必须了解的工具。 最初作为 LinkedIn 内部项目,用于简化服务间的数据传输与传播,Kafka 迅速发展成为构建高度可扩展数据管道的核心平台。认识 Apache Kafka —— 这一广泛应用于各类场景的数据管道构建工具,从追踪网站用户...

WHAT YOU'LL LEARN

学习Kafka的理论知识

Content

10 Lessons • 0 Quizzes • 0 Challenges

基础
  1. 1

    简介

  2. 2

    分布式系统的特点

  3. 3

    消息传递模式

  4. 4

    提交日志

  5. 5

    Kafka 的组件包括: 1. **Broker(代理)**:Kafka 集群中的每个服务器实例称为 Broker。它负责接收、存储和转发消息。 2. **Topic(主题)**:消息的逻辑分类。生产者将消息发送到特定的主题,消费者从主题中读取消息。 3. **Partition(分区)**:每个主题可以被划分为多个分区,用于实现并行处理和水平扩展。每个分区是有序的、不可变的消息序列。 4. **Replica(副本)**:为了保证数据的高可用性,每个分区会有多个副本,其中一个为主副本(Leader),其余为从副本(Follower)。主副本负责处理所有读写请求,从副本通过同步机制保持与主副本一致。 5. **Leader and Follower(领导者与跟随者)**:在每个分区中,一个副本作为 Leader 处理所有读写操作,其他副本作为 Follower 从 Leader 同步数据。 6. **Producer(生产者)**:负责向 Kafka 主题发送消息的应用程序或服务。 7. **Consumer(消费者)**:从 Kafka 主题读取消息的应用程序或服务。 8. **Consumer Group(消费者组)**:一组消费者的集合,共同消费一个或多个主题的消息。同一个消费者组内的消费者不会重复消费同一消息。 9. **ZooKeeper(分布式协调服务)**:早期版本的 Kafka 使用 ZooKeeper 来管理集群元数据、Broker 注册、配置信息和选举 Leader。但在较新版本中,Kafka 已经逐步移除了对 ZooKeeper 的依赖,使用内置的控制器机制来管理集群状态。 10. **Controller(控制器)**:Kafka 集群中的一个特殊 Broker,负责管理分区的 Leader 选举、副本状态变更等元数据操作。在没有 ZooKeeper 的情况下,控制器负责维护集群的整体状态。 11. **Log (日志)**:每个分区内部的数据存储结构,以日志文件的形式保存消息。日志文件按大小或时间滚动,支持高效的数据追加和读取。 12. **Offset(偏移量)**:每条消息在分区中的唯一标识位置。消费者通过记录偏移量来跟踪已消费的消息位置。 13. **Retention Policy(保留策略)**:定义消息在 Kafka 中保留的时间或大小限制。例如,可以设置消息保留 7 天或最大占用 1GB 磁盘空间。 14. **Schema Registry(模式注册中心)**:可选组件,用于管理和验证消息的结构(如 Avro、Protobuf 等格式),确保生产者和消费者之间数据格式的一致性。 这些组件共同构成了 Kafka 的核心架构,使其能够实现高吞吐量、低延迟、持久化和可扩展的消息传递系统。

  6. 6

    分区

  7. 7

    分区再平衡

Kafka 生产者
  1. 1

    生产者

  2. 2

    发送消息

  3. 3

    生产者配置

  4. 4

    生产者序列化

Kafka 消费者
  1. 1

    消费者与消费者组

  2. 2

    Kafka 消费者

  3. 3

    消费者配置

  4. 4

    提交和偏移量

  5. 5

    偏移量提交配置

  6. 6

    处理再平衡

  7. 7

    停止消费者

  8. 8

    消费者反序列化

  9. 9

    运行单个消费者

Kafka 内部原理
  1. 1

    复制

  2. 2

    Kafka 控制器

  3. 3

    请求处理

  4. 4

    分区分配

  5. 5

    数据存储

  6. 6

    Kafka 中的可靠性

  7. 7

    可靠的生产者和消费者

结论
  1. 1

    Kafka 与其他消息系统对比

附录
  1. 1

    Zookeeper:简介

  2. 2

    Zookeeper:示例

  3. 3

    Zookeeper:实用指南

参考:复制
  1. 1

    简介

  2. 2

    单领导者复制

  3. 3

    异步复制与同步复制

  4. 4

    日志复制中的跟随者

  5. 5

    日志复制

  6. 6

    单主复制中的问题

  7. 7

    多领导者复制

  8. 8

    多主复制中的问题

  9. 9

    多领导者拓扑结构

  10. 10

    无领导者复制

  11. 11

    读写操作的总和大于节点数量

  12. 12

    共识机制的变体

  13. 13

    并发写入

  14. 14

    视频流队列:并发写入示例

参考:分区
  1. 1

    简介

  2. 2

    分区方案

  3. 3

    二级索引

  4. 4

    分区数量

参考:事务
  1. 1

    事务简介

  2. 2

    事务的更多内容

  3. 3

    隔离级别

  4. 4

    读偏斜与快照隔离

  5. 5

    并发写入与更新丢失

  6. 6

    写偏斜

  7. 7

    可串行化

  8. 8

    两阶段锁

  9. 9

    可序列化快照隔离

参考:分布式系统中的问题
  1. 1

    简介

  2. 2

    网络通信

  3. 3

    时间共识

  4. 4

    处理时间相关问题

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)