← Kafka 모듈로
Learn · Roadmap
Kafka 로드맵
원본 자료(소스)별 챕터 목차 · 총 84개 모듈
Kafka: The Definitive Guide (O'Reilly, 2017, 1st Edition)
Neha Narkhede, Gwen Shapira, Todd Palino
1
Kafka의 기본 구성 요소 (Pub/Sub, 메시지, 토픽·파티션, 브로커)
Chapter 1: Meet Kafka — Publish/Subscribe Messaging ~ Multiple Clusters (pp.1-9)
2
Kafka를 선택하는 이유와 탄생 배경
Chapter 1: Meet Kafka — Why Kafka? ~ Getting Started with Kafka (pp.10-16)
3
Kafka 설치와 브로커 설정
Chapter 2: Installing Kafka — First Things First ~ Broker Configuration (pp.17-28)
4
하드웨어 선정, 클러스터 사이징, OS 튜닝과 프로덕션 고려사항
Chapter 2: Installing Kafka — Hardware Selection ~ Summary (pp.28-39)
5
프로듀서 구조와 메시지 전송 3가지 방식
Chapter 3: Kafka Producers — Producer Overview / Constructing a Kafka Producer / Sending a Message to Kafka (pp.41-48)
6
프로듀서 설정, 직렬화(Avro), 파티셔닝
Chapter 3: Kafka Producers — Configuring Producers / Serializers / Partitions (pp.48-61)
7
컨슈머 그룹, 리밸런스, poll 루프와 컨슈머 설정
Chapter 4: Kafka Consumers — Kafka Consumer Concepts / Creating a Kafka Consumer / Subscribing to Topics / The Poll Loop / Configuring Consumers (pp.63-75)
8
오프셋 커밋 전략, 리밸런스 리스너, seek와 정상 종료
Chapter 4: Kafka Consumers — Commits and Offsets / Rebalance Listeners / Consuming Records with Specific Offsets / But How Do We Exit? / Deserializers / Standalone Consumer (pp.75-93)
9
클러스터 멤버십과 컨트롤러, 그리고 복제의 기본 구조
Chapter 5: Kafka Internals — Cluster Membership / The Controller / Replication (pp.95-98)
10
브로커의 요청 처리 파이프라인 (Produce / Fetch / Metadata)
Chapter 5: Kafka Internals — Request Processing (pp.99-105)
11
물리적 저장: 파티션 할당, 세그먼트, 인덱스, 로그 컴팩션
Chapter 5: Kafka Internals — Physical Storage / File Management / File Format / Indexes / Compaction (pp.105-113)
12
신뢰성 보장과 브로커 설정 (복제 팩터, unclean leader election, min.insync.replicas)
Chapter 6: Reliable Data Delivery — Reliability Guarantees / Replication / Broker Configuration (pp.115-121)
13
신뢰성 있는 프로듀서·컨슈머 사용법과 시스템 검증
Chapter 6: Reliable Data Delivery — Using Producers/Consumers in a Reliable System / Validating System Reliability (pp.121-133)
14
데이터 파이프라인 설계 고려사항과 Kafka Connect
Chapter 7: Building Data Pipelines (pp.135-156)
15
멀티클러스터가 필요한 이유와 4가지 아키텍처 패턴
Chapter 8: Cross-Cluster Data Mirroring — Use Cases of Cross-Cluster Mirroring / Multicluster Architectures (pp.157-170)
16
DR 페일오버 — 데이터 유실, 시작 오프셋 결정, 페일백
Chapter 8: Cross-Cluster Data Mirroring — Active-Standby Architecture: failover details (pp.164-169)
17
MirrorMaker 동작 원리, 배포, 모니터링과 튜닝
Chapter 8: Cross-Cluster Data Mirroring — Apache Kafka's MirrorMaker / Other Cross-Cluster Mirroring Solutions (pp.170-180)
18
토픽 운영과 컨슈머 그룹·오프셋 관리 CLI
Chapter 9: Administering Kafka — Topic Operations / Consumer Groups / Offset Management (pp.181-190)
19
동적 설정, 파티션 관리, 콘솔 도구와 위험한 운영 작업
Chapter 9: Administering Kafka — Dynamic Configuration Changes / Partition Management / Consuming and Producing / Unsafe Operations (pp.190-210)
20
모니터링 기초 — 지표는 어디에 있고, 무엇을 알람으로 걸 것인가
Chapter 10: Monitoring Kafka — Metric Basics (Where Are the Metrics? / Internal or External Measurements / Application Health Checks / Metric Coverage) (pp.211-213)
21
Under-Replicated Partitions — 단 하나만 봐야 한다면 이 지표
Chapter 10: Monitoring Kafka — Kafka Broker Metrics / Under-Replicated Partitions (Cluster-level problems / Host-level problems) (pp.213-220)
22
브로커 지표 상세 — 컨트롤러, 요청 핸들러, 트래픽, 요청 타이밍
Chapter 10: Monitoring Kafka — Broker Metrics / Request metrics / Topic and Partition Metrics (pp.220-231)
23
JVM·OS 모니터링과 로깅 설정
Chapter 10: Monitoring Kafka — JVM Monitoring / OS Monitoring / Logging (pp.231-235)
24
클라이언트 모니터링, 쿼터, Lag 모니터링, End-to-End 모니터링
Chapter 10: Monitoring Kafka — Client Monitoring (Producer Metrics / Consumer Metrics / Quotas) / Lag Monitoring / End-to-End Monitoring (pp.235-245)
Apache Kafka Official Documentation — Getting Started (v4.3)
Apache Software Foundation
90+ Kafka Interview Questions and Answers (blog)
33
Kafka 핵심 아키텍처 — 토픽, 파티션, 브로커, 리플리케이션
kafka_ref_01(Q1-9,14-21), kafk_ref_02(Q1-4,7-8,32), kafka_ref_05(Q1-5) 종합. kafk_ref_02의 Kafka vs RabbitMQ 처리량 비교 수치(Q32, '10만 vs 2만 msg/sec')는 출처 불명확한 벤치마크 주장이라 판단해 구체 수치 대신 구조적 차이 설명으로 완화.
34
ZooKeeper에서 KRaft로 — 클러스터 메타데이터 관리의 세대교체
kafka_ref_01(Q10-13)의 최신 서술을 정확한 기준으로 삼아, kafk_ref_02(Q5,Q6,Q16 — 'ZooKeeper 없이는 Kafka 서버에 연결할 수 없다', 'Kafka 서버를 시작하려면 반드시 ZooKeeper를 먼저 띄워야 한다'), kafka_ref_04('Kafka는 3.x대에 KRaft로 이동 중'이라는 진행형 서술), kafka_ref_05(Q1,Q14 — ZooKeeper를 여전히 현재의 표준 아키텍처로, KRaft를 '미래에 없앨 대상'으로 서술)의 오래된 내용을 Kafka 4.0 기준(ZooKeeper 모드 완전 제거)으로 수정.
37
Kafka Streams와 확장 생태계 — KStream/KTable, 윈도우, Connect, ksqlDB
kafka_ref_01(Q68-80), kafk_ref_03(Section 8 Kafka Streams vs Spark Streaming), kafka_ref_04(KTable, 스트림 조인, ksqlDB 관련 문항), kafka_ref_05(Q8,Q13) 종합.
Kafka Interview Q&A (DataFlair style, blog)
40 Kafka Interview Questions for Java Developers (blog)
35
프로듀서 신뢰성과 컨슈머 그룹 — acks, 멱등성, 트랜잭션, 리밸런싱
kafk_ref_03(Section 3 프로듀서, Section 4 컨슈머 메커니즘), kafka_ref_01(Q35-58,75), kafka_ref_05(Q9) 종합. kafk_ref_03의 '리밸런싱은 항상 stop-the-world' 서술을 CooperativeStickyAssignor(2.4+) 및 KIP-848(Kafka 4.0 GA) 기준으로 수정했고, 'EOS는 약 10~20% 지연 오버헤드를 추가한다'는 구체 수치 주장은 근거 불명확하여 '워크로드에 따라 달라지는 실질적 오버헤드'로 완화.
36
Kafka 운영, 성능 튜닝과 장애 대응
kafk_ref_03(Section 5-6,10 실전 이슈/모니터링), kafka_ref_01(Q25-30,42-45,86-90), kafka_ref_04(성능 튜닝 문항), kafka_ref_05(Q7,Q12) 종합. kafk_ref_02(Q38 'Lack of Pace'를 Kafka 단점으로 서술)는 Kafka의 실제 강점(고처리량)과 상충하는 근거 불명확한 서술로 판단해 반영하지 않음.
25+ Kafka Interview Questions and Answers (blog)
Kafka Interview Questions for Engineering Hiring (blog)
50 Kafka Interview Questions for Data Engineers (2026)
(블로그, 발행처 미상 — 데이터 엔지니어링 교육 콘텐츠 사이트)
38
프로듀서 튜닝 디테일 — 재시도, 배치, 압축, 메타데이터 캐싱
50 Kafka Interview Questions for Data Engineers (2026), Q9, Q22-26, Q37, Q41
39
컨슈머 그룹 운영 디테일 — 하트비트, 그룹 코디네이터/리더, 파티션 할당, 중복 처리
50 Kafka Interview Questions for Data Engineers (2026), Q12-13, Q15-16, Q35, Q42. Q13(Eager vs Cooperative Sticky)에 KIP-848 최신 프로토콜 맥락을 보강.
40
클러스터 운영 — 컨트롤러, 랙 어웨어니스, 파티션 설계, 멀티테넌시
50 Kafka Interview Questions for Data Engineers (2026), Q5, Q21, Q29, Q33, Q40, Q43, Q45, Q49, FAQ('How does Kafka handle replication?'). Q21의 컨트롤러 설명(ZK 시대의 'LeaderAndIsr 요청 전송' 서술)과 FAQ의 'ZooKeeper or KRaft가 새 리더를 선출' 서술을 현재(4.0+) KRaft 단일 체제 기준으로 정정. Q49의 '2-3배 과잉 파티셔닝' 서술에 과잉 파티셔닝의 실제 비용을 보강.
Kafka vs Kinesis vs Pub/Sub 2026: Streaming Platform Showdown
(블로그, 발행처 미상 — 데이터 엔지니어링 교육 콘텐츠 사이트)
Apache Kafka 보안(인증/인가) 공식 문서·기술 블로그 종합 및 면접 단골 질문 정리 (웹 리서치, 2026)
Apache Kafka 공식 문서(kafka.apache.org/40/security) + Confluent/Conduktor 등 기술 블로그 종합
Apache Kafka Tiered Storage(KIP-405) 공식 문서 및 Confluent Schema Registry 호환성 모드 문서 종합 (웹 리서치, 2026)
Apache Kafka 공식 문서(kafka.apache.org/41/operations/tiered-storage) + Confluent 공식 문서(schema-evolution)
Kafka Connect SMT 공식 문서 및 KRaft 컨트롤러 쿼럼 사이징 가이드 종합 (웹 리서치, 2026)
Confluent 공식 문서(kafka-connectors/transforms) + Apache Kafka 공식 문서(operations/kraft)
Kafka Streams Exactly-Once Semantics(EOS v2) 공식 문서 종합 (웹 리서치, 2026)
Apache Kafka 공식 문서(streams/upgrade-guide, streams/developer-guide/config-streams)
Kafka Connect 내부 토픽 및 브로커 디스크 장애 대응 공식 문서 종합 (웹 리서치, 2026)
Apache Kafka 공식 문서(documentation#connect_running) + AWS MSK 개발자 가이드 + Apache Kafka JIRA(KAFKA-8046)
Kafka Streams Interactive Queries 공식 문서 종합 (웹 리서치, 2026)
Apache Kafka 공식 문서(streams/developer-guide/interactive-queries)
Kafka 트랜잭션 좀비 펜싱 및 Kafka Connect DLQ 공식 문서 종합 (웹 리서치, 2026)
Apache Kafka KIP-447/KIP-298 + Confluent 공식 블로그(Transactions in Apache Kafka, Kafka Connect Deep Dive Error Handling and Dead Letter Queues)
Kafka Streams Punctuate 및 ISR 축소/확장 메커니즘 공식 문서 종합 (웹 리서치, 2026)
Apache Kafka 공식 Javadoc(PunctuationType) + KIP-501 + Confluent 기술 문서
Kafka Streams suppress() 및 KRaft 동적 쿼럼 재구성 공식 문서 종합 (웹 리서치, 2026)
Apache Kafka Javadoc(Suppressed) + Confluent 개발자 튜토리얼 + KIP-853
KIP-848 새 컨슈머 그룹 프로토콜 및 Kafka Streams num.standby.replicas 공식 문서 종합 (웹 리서치, 2026)
KIP-848: The Next Generation of the Consumer Rebalance Protocol + Confluent 공식 문서(streams/sizing, streams/developer-guide/config-streams)
Kafka Connect Source EOS(KIP-618) 및 KIP-392 폴로워 페치 공식 문서 종합 (웹 리서치, 2026)
KIP-618: Exactly-Once Support for Source Connectors + KIP-392: Allow consumers to fetch from closest replica
Kafka OAUTHBEARER 재인증(KIP-368) 및 Connect Sink 전달보장 공식 문서 종합 (웹 리서치, 2026)
KIP-368: Allow SASL Connections to Periodically Re-Authenticate + Confluent 공식 문서(design/delivery-semantics, kafka-connectors/elasticsearch)
Kafka Streams GlobalKTable 및 Processor API 공식 문서 종합 (웹 리서치, 2026)
Apache Kafka 공식 문서(streams/developer-guide/dsl-api, streams/developer-guide/processor-api)
Kafka Share Groups(KIP-932) 및 프로듀서 ID 만료(KIP-854) 공식 문서·기술 블로그 종합 (웹 리서치, 2026)
Apache Kafka KIP-932(Queues for Kafka), KIP-854(Separate configuration for producer ID expiry), morling.dev 기술 블로그
Kafka Streams Foreign-Key Join(KIP-213) 및 KIP-441(Smooth Scaling Out) 공식 문서·기술 블로그 종합 (웹 리서치, 2026)
Apache Kafka KIP-213(Support non-key joining in KTable), KIP-441(Smooth Scaling Out for Kafka Streams), Confluent 공식 블로그
Kafka listeners/advertised.listeners 및 Sticky Partitioner(KIP-480) 공식 문서·기술 블로그 종합 (웹 리서치, 2026)
Confluent 공식 블로그(Kafka Listeners Explained), Apache Kafka KIP-480: Sticky Partitioner
Kafka Streams Grace Period 및 MirrorMaker 2 Offset Translation 공식 문서·기술 블로그 종합 (웹 리서치, 2026)
Apache Kafka 공식 Javadoc(TimeWindows), KIP-382(MirrorMaker 2.0), Kafka 공식문서 MirrorMaker
Kafka Producer/Consumer Interceptor(KIP-42) 및 Kafka Streams TopologyTestDriver 공식 문서 종합 (웹 리서치, 2026)
Apache Kafka KIP-42(Add Producer and Consumer Interceptors), Apache Kafka 공식문서 Testing a Streams Application
Kafka sendOffsetsToTransaction 및 Consumer position()/committed() 공식 문서 종합 (웹 리서치, 2026)
Apache Kafka KIP-98(Exactly Once Delivery and Transactional Messaging), Apache Kafka 공식 Javadoc KafkaConsumer
Kafka 트랜잭션 컨트롤 레코드 및 ConsumerRebalanceListener#onPartitionsLost(KIP-429) 공식 문서 종합 (웹 리서치, 2026)
Apache Kafka 공식 문서·기술 블로그(Kafka Transactions Deep Dive), KIP-429: Kafka Consumer Incremental Rebalance Protocol
Kafka Fetch Session(KIP-227) 및 2PC 참여(KIP-939) 공식 문서 종합 (웹 리서치, 2026)
Apache Kafka KIP-227(Introduce Incremental FetchRequests to Increase Partition Scalability), KIP-939(Support Participation in 2PC)
Kafka num.replica.fetchers 및 Kafka Streams state.dir 공식 문서·기술 블로그 종합 (웹 리서치, 2026)
Apache Kafka 공식문서(Broker Configs), Confluent 기술 블로그(RocksDB 성능 튜닝)