WEBBOOK CHAPTER

Kafka 이벤트 스트리밍, 개발에서 운영까지: 5장. Producer 성공의 의미를 안다

5장. Producer 성공의 의미를 안다

acks, idempotent producer, retry, delivery timeout과 in-flight 설정을 함께 본다. broker ack는 업무 DB 반영이나 외부 side effect 성공이 아니다. callback 실패와 application shutdown flush를 시험한다.

손쉽게 따라 하기

timeout·broker 재시작에서 eventId 중복과 손실을 측정한다. 입력에는 실제 고객·계정·도메인 대신 tenant-demo, example.invalid와 저장소 fixture만 사용한다. 시작 전 기대 결과와 바꾸지 않을 불변식을 한 줄로 적는다.

같은 화면에서 확인할 증거

lab/public/index.html의 공통 FieldPass Evidence Board에서 책 slug kafka-event-streaming-operations, 장 번호 5, run ID를 선택한다. 입력, 판정, 관측값, rollback을 채우고 명령 결과와 같은지 확인한다. 성공 화면만 캡처하지 않고 의도한 실패 하나와 다음 안전 행동을 함께 남긴다.

막혔을 때

send 반환만 보고 성공 처리했다면 ack와 outbox 상태를 연결한다. 원인을 확정하기 전 최근 변경, 환경, 권한, 시간 범위와 실제 오류를 고정한다. 외부 서비스를 반복 호출하지 않고 로컬 fixture로 최소 재현한 뒤 한 변수만 바꾼다. 복구는 process 상태가 아니라 FieldPass 예약·결제·정산의 업무 결과로 선언한다.