배민셀프서비스, SSE 도입으로 기상악화 시 임시배달지역 알림 구현
·2026.11.10 15:00
핵심 내용
SSE 도입으로 폴링 부하를 줄이고, zero-payload 설계로 유실과 순서 문제를 해결했다.
자세히 보기
- 배민셀프서비스에 SSE(Server-Sent Events)를 도입해 서버가 파트너에게 기상악화 이벤트를 실시간으로 푸시함
- 폴링 방식의 불필요한 API 호출을 제거하고, Kafka fan-out으로 여러 파드에 흩어진 연결에 이벤트를 전달함
- zero-payload 방식으로 이벤트에 상태를 담지 않고 식별자만 보내, 프론트가 REST API로 최신 상태를 조회하게 함
- 30초 캐시로 동시 조회를 합치고, 재연결 시 지터와 백오프를 적용해 서버 부하를 분산함
- 최근 30일간 버려진 이벤트는 0건이며, 유실을 허용하는 정책으로 시스템 복잡도를 낮춤
- 단방향 통신이 필요하고 유실을 허용할 수 있는 환경에 적합하며, 양방향 통신이나 무결성이 필수인 경우엔 부적합함
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.