Kafka는 직접 호출을 이벤트 로그로 바꿔 서비스 결합을 낮춘다

동기 호출은 상대 서비스의 응답을 기다리지만, Kafka 기반 흐름은 이벤트를 토픽에 남기고 소비자가 자신의 속도로 처리합니다.

Synchronous

요청한 서비스가 응답을 기다린다

Notifications가 느리거나 장애가 나면 Users 흐름까지 영향을 받을 수 있습니다.

Event-driven

이벤트를 남기고 흐름을 분리한다

Users는 `user_created`를 발행하고, Notifications는 나중에 읽어 처리합니다.

Producer

Users Service

사용자 생성 후 이벤트를 발행합니다.

Topic log

user_created

이벤트가 Kafka 로그에 저장되어 재처리 가능한 기록이 됩니다.

Consumer

Notifications Service

자신의 consumer group에서 이벤트를 읽어 환영 메일을 보냅니다.

핵심: Kafka를 쓰면 호출 관계가 “서비스 → 서비스”에서 “서비스 → 토픽 → 서비스”로 바뀌며, 장애 전파와 처리 속도를 분리할 수 있습니다.