课程介绍:
Kafka是一个开源的分布式流处理平台,最初由LinkedIn开发并于2011年开源。它被设计用于高吞吐量、低延迟的数据流处理。
Kafka的核心概念是消息系统,它允许应用程序之间可靠地传输和存储数据。Kafka使用发布-订阅模型,其中生产者将消息发布到一个或多个主题(topic),而消费者则订阅这些主题并接收消息。消息以分区(partition)的形式进行存储,每个分区都有一个唯一的标识符(partition key)。
Kafka的架构包括以下几个重要组件:
Producer(生产者):将消息发布到Kafka的应用程序。
Consumer(消费者):订阅并消费Kafka中的消息。
Broker(代理):Kafka集群中的一个节点,负责接收和处理生产者和消费者的请求。
Topic(主题):消息的类别或者主题,生产者发布消息到主题,消费者订阅主题以接收消息。
Partition(分区):每个主题可以被分为多个分区,每个分区都是一个有序的、不可变的消息序列。
Consumer Group(消费者组):一组共享相同消费逻辑的消费者,每个分区只能被同一个消费者组中的一个消费者消费。
Kafka的编程接口支持多种编程语言,如Java、Python和Go等。它提供了丰富的API,以便于开发者进行消息的生产和消费。此外,Kafka还具有高可用性、可扩展性和持久性等特性,使其成为处理高速数据流的理想选择。
Kafka在许多领域都有广泛的应用,包括实时数据流处理、日志收集和分析、指标监控、事件驱动架构等。它已经被许多大型互联网公司广泛采用,并在开源社区中得到了积极的支持和贡献。
课程目录:
01 kafka初始,架构模型,角色功能梳理
02 kafka集群搭建,topic+partition消费逻辑梳理
03 基础开发及消费者提交维护offset不同粒度方式
04 kafka进阶,ISR,OSR,AR,LW,HW,LEO,ACK原理理论
05 观察验证ISR弹性,时间戳索引,自定义offset便宜
06 kafka之producer的参数,源码,原理剖析
07 kafka 源码分析producer及通信原理
08 kafka 源码分析broker网络层通信原理