Programming/Technical Writing
2026. 3. 27.
kafka를 통한 이벤트 기반 아키텍처
TL;DR"이벤트로 분리할 것인가 말 것인가"라는 판단이 설계의 핵심이다. 기술 도입보다, 어디에 경계를 그을지를 결정하는 것이 더 중요하다. 커머스 프로젝트에서 주문을 처리하는 서비스 코드가 점점 비대해지고 있었다. 주문을 생성하고 결제를 처리하는 핵심 로직 사이에 알림 발송, 유저 행동 로깅, 좋아요 집계 같은 부가 로직들이 동기적으로 끼어들어 있었다. 알림 서버가 느려지면 주문 응답도 느려지고, 로깅 DB에 문제가 생기면 좋아요가 실패하는 상황이 발생할 수 있었다.이번 과제에서는 이 문제를 세 단계로 풀었다. 먼저 Spring ApplicationEvent로 프로세스 내에서 주요 로직과 부가 로직의 경계를 나누고, Kafka로 프로세스 간 이벤트 파이프라인을 구축한 뒤, 그 파이프라인 위에서 선..