EROKE ORIGINAL WEBBOOK

Kafka 이벤트 스트리밍, 개발에서 운영까지

전체 목차20개 장
  1. Kafka 이벤트 스트리밍, 개발에서 운영까지: 1장. Kafka가 필요한 압력을 먼저 찾는다
  2. Kafka 이벤트 스트리밍, 개발에서 운영까지: 2장. Record와 event 계약을 분리한다
  3. Kafka 이벤트 스트리밍, 개발에서 운영까지: 3장. Topic을 수명주기 단위로 설계한다
  4. Kafka 이벤트 스트리밍, 개발에서 운영까지: 4장. Partition key가 순서와 확장을 정한다
  5. Kafka 이벤트 스트리밍, 개발에서 운영까지: 5장. Producer 성공의 의미를 안다
  6. Kafka 이벤트 스트리밍, 개발에서 운영까지: 6장. DB와 Kafka 사이를 Outbox로 잇는다
  7. Kafka 이벤트 스트리밍, 개발에서 운영까지: 7장. Consumer group과 rebalance를 운영한다
  8. Kafka 이벤트 스트리밍, 개발에서 운영까지: 8장. Offset commit과 업무 commit을 맞춘다
  9. Kafka 이벤트 스트리밍, 개발에서 운영까지: 9장. Exactly-once의 경계를 과장하지 않는다
  10. Kafka 이벤트 스트리밍, 개발에서 운영까지: 10장. Schema evolution을 자동 차단한다
  11. Kafka 이벤트 스트리밍, 개발에서 운영까지: 11장. Retry와 DLQ를 실패 분류로 설계한다
  12. Kafka 이벤트 스트리밍, 개발에서 운영까지: 12장. Replay는 운영 변경이다
  13. Kafka 이벤트 스트리밍, 개발에서 운영까지: 13장. CDC는 row 변경을 업무 사건으로 착각하지 않는다
  14. Kafka 이벤트 스트리밍, 개발에서 운영까지: 14장. Stream time과 window를 이해한다
  15. Kafka 이벤트 스트리밍, 개발에서 운영까지: 15장. KRaft cluster를 failure domain으로 본다
  16. Kafka 이벤트 스트리밍, 개발에서 운영까지: 16장. 성능과 backpressure를 수치로 다룬다
  17. Kafka 이벤트 스트리밍, 개발에서 운영까지: 17장. 보안과 multi-tenancy를 설계한다
  18. Kafka 이벤트 스트리밍, 개발에서 운영까지: 18장. 관측과 용량 계획을 연결한다
  19. Kafka 이벤트 스트리밍, 개발에서 운영까지: 19장. Upgrade와 복구를 rehearsal한다
  20. Kafka 이벤트 스트리밍, 개발에서 운영까지: 20장. 최종 캡스톤과 출간 게이트

KRaft·Partition·Schema·CDC·Replay·복구로 완성하는 실전 데이터 흐름

Kafka 개발에서 replay와 cluster 복구까지 완주한다.

상태: 출간 후보 웹교정쇄 · 자동 QA 통과 · Kafka 운영 감수 대기 · 20개 장

KRaft·Partition·Schema·CDC·Replay·복구로 완성하는 실전 데이터 흐름

기준일: 2026-08-14 · 상태: 출간 후보 웹교정쇄 · 자동 QA 후 사람 현장 감수 대기

FieldPass 업무 사건을 손실·중복·순서 역전에 견디는 운영 가능한 stream으로 만든다. 대상 독자는 producer·consumer 예제를 넘어 schema 진화와 cluster 운영·복구를 맡아야 하는 개발자다. 기능을 따라 입력하는 데서 끝내지 않고 결정의 전제, 실패, 증거와 rollback을 한 세트로 남긴다. 숫자·한도·가격·UI는 영구 사실이 아니며 실습 직전 공식 문서를 다시 확인한다.

FieldPass는 방문 예약, 기사 배정, 사진, 결제와 정산을 가진 합성 B2B 서비스다. 여섯 권이 같은 tenant-demo, res-demo-101, run-demo-001을 사용한다. 따라서 도메인 결정이 API, telemetry, infrastructure, event와 edge에서 같은 의미인지 비교할 수 있다.

  1. npm run test로 여섯 위험 fixture를 실행한다.
  2. npm run build로 원고와 SVG를 재생성한다.
  3. lab/public/index.html을 열어 입력·판정·증거·원복을 같은 화면에 기록한다.
  4. 실제 cloud·domain 적용은 소유자 승인, 비용 상한과 별도 staging에서만 한다.

cd fieldpass-platform
npm run qa
npm start

먼저 version 9로 의도한 실패와 Problem Details를 확인하고 새 process에서 version 1로 성공·Outbox 대사를 실행한다. 실제 cloud·domain 변경은 소유자 승인과 비용 상한이 있는 staging에서만 한다.

동일 fixture로 실행한 FieldPass 실제 API 화면
동일 fixture로 실행한 FieldPass 실제 API 화면
업무 사건 전달 경로
업무 사건 전달 경로
Key와 순서 범위
Key와 순서 범위
장애에서 대사까지
장애에서 대사까지

{"eventId":"evt-demo-1","type":"ReservationConfirmed","source":"fieldpass/reservation","tenantId":"tenant-demo","schemaVersion":2}

consumeAtLeastOnce([{eventId:'e1'},{eventId:'e1'},{eventId:'e2'}]);

ordering scope = partition key
ack != business commit
retention != backup
exactly-once != external side effect once

node --test test/platform-lab.test.mjs

npm run smoke:kafka는 Apache Kafka 4.1.1 KRaft broker를 시작하고 3 partition topic에 합성 event를 produce·consume한다. 처음 실행은 image를 내려받으므로 disk와 network를 확인한다. 실습 뒤 docker compose -f infra/kafka/compose.yml down -v로 교육 데이터를 정리한다.

기본 전달 성공 뒤 events.test.mjs에서 같은 eventId, 과거 version과 version gap을 시험한다. 중복은 무시하고 gap·stale은 격리되어야 한다. 실제 consumer를 붙일 때 offset commit과 업무 DB commit 사이 crash를 주입하고 inbox 수량과 projection 결과를 대사한다.

single broker 성공을 production 내결함성으로 설명하지 않는다. 별도 현장 실습에서 controller quorum, replication factor, min ISR와 rack·zone을 구성하고 broker·zone 손실을 rehearsal해야 한다. retention도 backup이 아니므로 schema·ACL·offset과 업무 정본 복구 절차를 둔다.

목차

  1. 1장. Kafka가 필요한 압력을 먼저 찾는다
  2. 2장. Record와 event 계약을 분리한다
  3. 3장. Topic을 수명주기 단위로 설계한다
  4. 4장. Partition key가 순서와 확장을 정한다
  5. 5장. Producer 성공의 의미를 안다
  6. 6장. DB와 Kafka 사이를 Outbox로 잇는다
  7. 7장. Consumer group과 rebalance를 운영한다
  8. 8장. Offset commit과 업무 commit을 맞춘다
  9. 9장. Exactly-once의 경계를 과장하지 않는다
  10. 10장. Schema evolution을 자동 차단한다
  11. 11장. Retry와 DLQ를 실패 분류로 설계한다
  12. 12장. Replay는 운영 변경이다
  13. 13장. CDC는 row 변경을 업무 사건으로 착각하지 않는다
  14. 14장. Stream time과 window를 이해한다
  15. 15장. KRaft cluster를 failure domain으로 본다
  16. 16장. 성능과 backpressure를 수치로 다룬다
  17. 17장. 보안과 multi-tenancy를 설계한다
  18. 18장. 관측과 용량 계획을 연결한다
  19. 19장. Upgrade와 복구를 rehearsal한다
  20. 20장. 최종 캡스톤과 출간 게이트