本文是对于**《深入理解kafka-核心设计与实践原理》**的笔记和提纲整理
主要用于复习和知识点快速复习
第一章:概念
链接:《深入理解kafka-核心设计与实践原理》第一章:概念
第一章:概念
- 1.1 基本概念
- 1.1.1 基本角色与概念
- 1.1.2 其他概念(AR、ISR、OSR、HW、LEO)
- 1.2 概念图
第二章:生产者
链接:《深入理解kafka-核心设计与实践原理》第二章:生产者
第二章:生产者
- 2.1 api使用
- 2.1.1 生产者:KafkaProducer
- 2.1.2 消息体:ProducerRecord
- 2.1.3 序列化器:Serializer
- 2.1.4 分区器:Partitioner
- 2.1.5 拦截器:Interceptor
- 2.2 生产者客户端的原理
- 2.2.1 整体架构
- 2.2.2 元数据的更新
- 2.3 重要的生产者参数
- 2.3.1 acks
- 2.3.2 max.request.size
- 2.3.3 retries和retry.backoff.ms
- 2.3.4 其他参数
第三章:消费者
链接:《深入理解kafka-核心设计与实践原理》第三章:消费者
第三章:消费者
- 3.1 消费者与消费组
- 3.1.1 消费者(Consumer)
- 3.1.2 消费组(Consumer Group)
- 3.1.3 消息投递模式
- 3.2 客户端开发
- 3.2.1 必要的配置参数
- 3.2.2 订阅主题与分区
- 3.2.3 反序列化
- 3.2.4 消费消息
- 3.2.5 位移提交
- 3.2.5.1 offset
- 3.2.5.2 消费后的提交方式:自动提交/手动提交
- 3.2.6 控制/关闭消费
- 3.2.7 指定位移消费
- 3.2.8 再均衡(Rebalance)
- 3.2.9 消费者拦截器
- 3.2.10 多线程实现
- 3.3 重要的消费者参数
第四章:主题和分区
链接:《深入理解kafka-核心设计与实践原理》第四章:主题和分区
第四章:主题和分区
- 4.1 主题管理
- 4.1.1 创建主题
- 4.2 KafkaAdminClient
- 4.3 分区管理
- 4.3.1 优先副本的选举
- 4.3.2 分区重分配(Partition Reassignment)
- 4.3.3 复制限流
- 4.3.4 修改副本因子
- 4.4 分区和性能的考量因素
补充:一些实际问题的理解
Q1:消息可靠性(不重不漏)
- 1.1 如何保证消息不丢
- 1.2 如何保证消息不重
Q2:积压/消费能力
- 2.1 线上积压排查思路
- 2.2 增加消费能力