Kafka-Essential 시리즈의 완결편. 별도 클러스터 없이 라이브러리만으로 토픽을 변환·집계·조인하는 Kafka Streams를 파고듭니다. KStream/KTable 이원성과 토폴로지, RocksDB state store와 changelog 토픽의 내결함성, 이벤트 시간 윈도잉과 exactly_once_v2, 그리고 언제 Flink 같은 전용...
여러 팀이 오래 공유하는 로그에서 데이터의 형태는 곧 시스템 간 계약입니다. 스키마를 중앙에 등록하고 메시지에는 매직 바이트 + 스키마 ID만 실어 보내는 Schema Registry의 wire format과 serializer 흐름, Avro/Protobuf/JSON Schema 비교와 reader/writer 스키마 해석, 그리고 BACKWARD/...
프로듀서·컨슈머를 매번 직접 짜는 대신, 선언적 설정만으로 외부 시스템과 Kafka를 잇는 Kafka Connect를 파고듭니다. worker·connector·task의 분산 실행 모델, Debezium이 PostgreSQL WAL·MySQL binlog를 읽어 변경 이벤트로 바꾸는 로그 기반 CDC의 원리, 그리고 replication slot 방...
Kafka에서 가장 자주 오해되는 주제, 전달 보장을 파고듭니다. '유실 없음'과 '중복 없음'을 분리해 at-most-once·at-least-once·exactly-once 세 전달 의미를 실패 시나리오로 해부하고, 멱등 프로듀서(PID·시퀀스 번호)가 재시도 중복을 걸러내는 원리와 그 한계, 그리고 트랜잭션(transactional.id·send...
Kafka의 읽기·쓰기 경로를 파고듭니다. 프로듀서의 send 경로(serializer → partitioner → 배치 → Sender)와 acks로 조율하는 처리량 vs 내구성, pull 기반 컨슈머의 poll 루프와 오프셋 커밋(자동 vs 수동), 그리고 컨슈머 그룹의 파티션 분배와 리밸런싱 — eager vs cooperative, static...
Kafka의 1층인 분산 커밋 로그를 파고듭니다. 큐가 아니라 append-only 로그라는 관점에서 세그먼트 파일·순차 I/O·zero-copy·retention과 compaction·재생(replay)의 힘을 잡고, 토픽·파티션·오프셋이 병렬성과 순서를 어떻게 가르는지, 파티셔닝 키와 핫 파티션·파티션 수 결정의 트레이드오프, 그리고 리더/팔로워 ...
Data-Engineering-Essential 오버뷰의 '수집' 단계에서 예고된 Apache Kafka 심화 스핀오프. 분산 로그·토픽·파티션부터 프로듀서/컨슈머, 전달 보장(exactly-once), Kafka Connect(CDC), Schema Registry, Kafka Streams까지 6단계로 정복하는 학습 로드맵입니다. 도장깨기 방식으로...
원천에서 데이터를 가져오는 수집 단계 — 배치 vs 스트리밍의 트레이드오프, 로그 기반 vs 쿼리 기반 CDC, Kafka·Kinesis 같은 스트리밍 플랫폼의 버퍼·디커플링 역할, 그리고 Airbyte·Fivetran 같은 수집 도구의 build vs buy 판단까지 다룹니다.