목록 보기
비가 오면 사장님이 먼저 압니다: SSE로 만든 실시간 기상악화 알림
백엔드

비가 오면 사장님이 먼저 압니다: SSE로 만든 실시간 기상악화 알림

우아한 형제들
우아한 형제들
2026년 11월 10일

두줄요약

기상악화 상태를 파트너에게 즉시 알리기 위해 SSE 기반 실시간 알림 구조를 설계했습니다. Kafka fan-out과 연결·메모리·재연결 운영 전략을 함께 다뤘습니다.

문제 상황

  • 기상악화 시 라이더 부족으로 인한 주문 취소 증가와 임시배달지역 조정 필요
  • 요청-응답 중심 기존 통신 구조에서 파트너 화면으로의 즉시 알림 부재

구조와 흐름

  • 외부 기상악화 이벤트의 SNS·SQS 수신 후 Kafka 재발행
  • 파드별 고유 Kafka groupId를 통한 전체 파드 fan-out과 연결 파트너 대상 선별 전송
  • SSE 신호 수신 후 REST API로 최신 상태 재조회하는 zero-payload 방식

선택 이유

  • 폴링의 불필요한 요청량·지연 트레이드오프 해소
  • 단방향 알림 요구에 맞는 HTTP GET 기반 SSE 채택
  • 양방향 WebSocket 전환과 롱 폴링의 재요청·이벤트 보관 복잡도 회피

성능/운영 포인트

  • Reactor Sink 멀티캐스트, 느린 구독자 이벤트 폐기, 미구독 Sink 생성 방지
  • Nginx 버퍼 비활성화·연결 상한 설정과 연결당 메모리 측정
  • heartbeat, 재연결 지터·백오프·상한, 최대 연결 유지 시간 적용

우아한형제들 계열사 채용5건

채용 사이트에서 전체 보기

다음 읽기

#SSE 주제를 이어서 읽기

Server-Sent Events로 실시간 알림 전달하기

MQTT 기반 알림의 제약을 해결하기 위해 AWS IoT와 SSE를 도입했습니다. 정형화된 메시지, 재전송, 수신 확인으로 실시간성과 안정성을 높였습니다.

우아한 형제들
우아한 형제들
백엔드
전체 보기

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...