Users API
사용자 생성 요청을 처리하고 도메인 상태를 먼저 확정한다.
동기 호출은 응답을 기다리지만 Kafka 이벤트는 producer가 topic에 기록하고 consumer가 자기 속도로 처리한다. 결합은 줄지만 순서, 중복, 재처리 책임이 새로 생긴다.
사용자 생성 요청을 처리하고 도메인 상태를 먼저 확정한다.
user_created payload를 Kafka client로 topic에 기록한다.
이벤트는 broker에 보존되고 partition key로 순서 범위가 정해진다.
Notifications 서비스가 consumer group 안에서 partition을 나눠 읽는다.
환영 이메일처럼 응답과 분리 가능한 작업을 비동기로 실행한다.
호출자가 대상 서비스 주소와 응답 시간을 직접 의식한다.
생산자는 topic에 기록하고 소비자는 독립적으로 처리한다.
하위 서비스 지연이 사용자 요청 지연으로 바로 전파된다.
소비자가 잠시 멈춰도 이벤트는 보존되고 나중에 따라잡을 수 있다.
timeout, retry, status mapping이 핵심이다.
offset, lag, 중복 처리, DLQ, replay 기준이 핵심이다.