EVENT STREAM

Kafka는 결합을 줄이지만 실패 기준을 더 명확히 요구한다

producer와 consumer는 느슨하게 연결되지만, topic 계약과 재처리 기준이 없으면 상태가 더 쉽게 흔들린다.

Topic contract

이벤트 이름, schema, partition key가 소비자 확장과 순서 보장의 기준이 된다.

Consumer handling

consumer group, offset commit, idempotency를 handler 책임 안에서 확인한다.

Recovery path

poison message, DLQ, replay 시나리오가 운영 절차로 남아야 한다.

정해야 할 것 놓치면 생기는 문제
Schema 필드 추가와 제거의 하위 호환 기준 consumer 배포 순서에 따라 메시지 해석이 깨진다.
Order 같은 aggregate가 같은 partition key를 쓰는지 상태 변경 이벤트가 순서 없이 반영된다.
Lag consumer lag와 실패 이벤트를 알림 기준에 연결 처리 지연이 장애인지 정상 backlog인지 판단하기 어렵다.
Kafka 도입 전 먼저 닫을 질문: 중복과 재처리가 생겨도 같은 상태로 수렴하는가?