联通大数据基础平台负责人,联通大数据架构师,10多年的软件研发项目经验,擅长分布式系统技术栈。
简介
Kafka 是一个快速、可扩展的、高吞吐的、可容错的分布式“发布-订阅”消息系统, 使用 Scala 与 Java 语言编写,能够将消息从一个端点传递到另一个端点。本课程提供了Kafka消息总线的基础知识,从零基础开始学习Kafka,将从Kafka基础理论、专题理论+案例、专项实现原理+演示的三个模块进行分享。
课程收益
1.了解Kafka基础概念、架构、事务、Exactly-Once,通过基础实践熟悉生产者API与消费者API操作
2.实际应用中的案例研究
3.学会解决集群运行中的各种问题
培训对象
从事Kafka运维和开发人员
课程时长
2天(12H)
分享提纲
时间 | 标题 | 授课内容 |
第一天上午 | 1.Kafka基础理论-概念、架构、事务、Exactly-Once (1小时) | 1.1 kafka基础概念介绍: 定义:消息系统、消息引擎、分布式消息中间件、流处理平台 价值:消息处理缓冲、流量削峰填谷、异构系统解耦、消息流式计算 1.2 kafka架构设计: 目标:高吞吐量、高可扩展性、高可用、持久化、流计算引擎 设计:生产者-Broker Server-消费者、Topic & Partition & Message 模型:点对点消息队列queue、发布/订阅pub/sub 1.3 主流消息引擎对比分析:Kafka VS ActiveMQ VS RabbitMQ VS Pulsar 1.4 消息事务特性: 分布式事务XA与TCC、数据库事务与消息事务、幂等性与事务 1.5 消息传输保障:at most once、at least once、exactly once 1.6 分布式基础理论:ACID、BASE、CAP(结合案例进行讲解) 1.7 分布式选举与共识算法: Bully、Raft、Paxos(结合案例进行讲解) 1.8 基础实践:Kafka集群部署与客户端编程(熟悉生产者API与消费者API操作) |
2.Kafka Rebalance management 专题理论+案例 (2小时) | 2.1 理论:消费者组与消费组实例Consumer Group&Consumer Instance 2.2 理论:Rebalance触发条件:组成员数量、订阅主题数量、订阅主题分区数变更 2.3 理论:Rebalance核心原理剖析与减少Rebalance的方法 2.4 案例:本地源码阅读环境搭建 2.5 案例:Rebalance关键源码解析: GroupMetadata、MemberMetadata、__consumer_offsets、GroupMetadataManager、GroupCoordinator | |
第一天下午 | 3.Kafka message consumption stuck issue resolution专题理论+案例 (2小时) | 3.1 消费位移提交Committing Offsets: 位移主题、重设消费者组位移、丢失处理消息、重复处理消息 3.2 多线程消费实现:KafkaConsumer单线程设计问题、多线程消费方案对比 3.3 消费卡慢相关背景知识: 消费进度监控:kafka-consumer-groups 脚本、Consumer API 编程、JMX 操作系统调优:时间同步、句柄数、文件数、线程数、网络、磁盘、其他OS调优 Kafka框架调优:Kafka集群核心参数配置调优、Broker Java进程JVM调优 应用层配置调优:Kafka生产者与消费者客户端配置调优 3.4 消费卡慢案例分析:生产环境消费典型卡慢问题诊断与解决方案 |
4.Kafka Streams 专题理论+案例 (1小时) | 4.1 流计算引擎对比:Kafka Streams VS Storm VS Spark VS Flink 4.2 Kafka Streams开发方法(上):低级Processor API Stream、Stream Processing Application、Processor Topology 4.3 Kafka Streams应用案例(上):日志流处理应用案例 | |
5.答疑 (1小时) | 5.1 针对课前练习题问题进行答疑 (Kafka集群安装部署与客户端编程实践任务) 5.2 针对当天课程的内容进行答疑 | |
第二天上午 | 1. Kafka Streams 专题理论+案例 (2小时) | 1.1 Kafka Streams开发方法(下):高级流式DSL KStream&KTable、Join连接操作、Aggregations聚合操作、窗口操作 1.2 Kafka Streams应用案例(下):移动推送平台项目案例 |
2.Kafka operation best practices(包括health check/monitor) 专题理论+案例 (1小时) | 2.1 企业级Kafka运维实践:巡检、监控、参数调优、排障知识体系(赠送400页内部资料) 2.2 主流监控工具:JMXTool VS Kafka Manager VS KafkaOffsetMonitor VS Burrow 2.3 领域最佳实践:JMXTrans + InfluxDB (OpenTSDB) + Grafana (Davinci) 2.4 商业监控产品:Confluent Control Center | |
第二天下午 | 3.Kafka operation best practices(包括health check/monitor) 专题理论+案例 (1小时) | 3.1 案例精讲:运营商信令Kafka集群故障分析专题 集群背景介绍、故障现象复盘、临时处理办法、总体解决方案 3.2 案例精讲:运营商信令Kafka集群故障知识总结 集群启动流程、Kafka副本机制剖析、Kafka控制器组件原理、日志模块原理 |
4. Kafka burrow (实现原理+简单演示) (0.5小时) | ||
5. Kafka Mirror Maker introduction (实现原理+简单演示) (0.5小时) | ||
6. KSQL development (实现原理+简单演示) (0.5小时) | ||
7.答疑 (1.5小时) | 7.1 针对课前练习题问题进行答疑(Kafka集群系统配置调优实践任务) 7.2 针对当天课程的内容进行答疑 |