아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
우아한형제들 favicon우아한형제들

SSE 도입으로 더 빠르고 안정적인 실시간 알림 시스템 구축!

by DD
2025-10-24
9개월 전
조회수 25

MQTT 기반 알림 시스템의 문제점을 해결하기 위해 SSE를 도입함

AWS IoT를 활용하여 보안 강화 및 메시지 형식을 정형화함

Backpressure 제어 및 Thundering herd 문제 해결로 시스템 안정성 확보

SSE 아키텍처 설계

SSE는 HTTP 연결을 지속적으로 유지하여 서버에서 클라이언트로 실시간 데이터를 전송한다. 구체적으로, WebSockets과 달리 단방향 통신에 특화되어 있어 기존 REST API 인프라와 통합이 용이하다. 따라서, 알림 시스템에 적합한 기술 선택이다.

메시지 브로커 선택과 트레이드오프

메시지 전달 방식은 모든 서버로 전달 방식을 선택하여 확장성을 확보했다. Kafka를 사용하여 메시지 순서 보장 및 장애 격리를 구현했다. 반면, 레이턴시 증가와 브로커 운영이라는 단점이 존재한다.

안정적인 시스템 운영 노하우

Backpressure 제어를 통해 Kafka의 Consumer poll timeout 문제를 해결했다. 구체적으로, 적절한 buffer size 설정과 BufferOverflow 설정을 추가했다. Thundering herd 문제 해결을 위해 세션 지속 시간에 random jitter를 적용했다.

Server-Sent Events로 실시간 알림 전달하기
중급
아키텍처
MQTT
SSE
AWS IoT
Kafka
Spring Webflux
Coroutine
Java
Kotlin
Backend
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

Kotlin Coroutine으로 비동기 시스템 구축, 성능 UP!

신세계 로고

Agentic AI, IoT, 로봇의 융합: 자율 산업 안전 로봇 아키텍처 분석

AWS 로고

제휴 서비스 수집 시스템, 지속 가능한 아키텍처로 진화

신세계 로고

스프링 카프카(Spring Kafka) 4.1.0-RC1, 4.0.5, 3.3.15 릴리즈

스프링 로고

올리브영, Kafka Streams로 품절 시스템 혁신!

올리브영 로고

Kafka Streams 윈도우 도입으로 정산 시스템 안정성 확보!

컬리 로고
우아한형제들 favicon우아한형제들
중급
아키텍처
MQTT
SSE
AWS IoT
Kafka
Spring Webflux
Coroutine
Java
Kotlin
Backend

관련 추천 글

Kotlin Coroutine으로 비동기 시스템 구축, 성능 UP!

신세계 로고

Agentic AI, IoT, 로봇의 융합: 자율 산업 안전 로봇 아키텍처 분석

AWS 로고

제휴 서비스 수집 시스템, 지속 가능한 아키텍처로 진화

신세계 로고