SSE 운영 구현 글 추가 — 시리즈 2편 - #143
Open
kmg733 wants to merge 4 commits into
Open
Conversation
시리즈 realtime-communication 2편. 1편에서 뗀 실무 사례(두 화면이 SSE/폴링으로 갈린 판단)를 앞에 두고, SSE를 운영에 올리며 부딪힌 일곱 문제를 순서대로 다룬다 - 부하: 구독자 검사, dedup, 유휴 백오프, 권한별 직렬화 캐시 - 격리: send는 블로킹이므로 전송을 전용 풀로 분리 - 순서: 전체 스냅샷 병렬 전송의 역전을 시퀀스 + CAS로 차단 - 종료: complete와 send의 락 경합, 종료 전용 풀 분리 - 세션: 스트림은 세션을 못 살려 주기적 핑으로 유지 - 재연결: 백오프 + jitter + 탭 가시성으로 동시 폭주 방지 - 정확성: dedup 최적화가 권한 회수 반영을 막는 충돌 해소 사내 구현체 내용은 화면 이름·클래스·경로·필드를 익명화해 패턴 수준으로 재작성. 다이어그램 5종을 light/dark 쌍으로 사전 렌더링. 썸네일은 1편과 동일한 이미지를 사용
added 3 commits
July 28, 2026 18:05
figcaption은 저장소 전 글에서 평서체(~다)·명사구로 쓴다. 본문은 존댓말이어도 캡션은 평서체가 관례다. 그림 1만 존댓말이라 나머지 다섯 캡션 및 1편과 어긋나 평서체로 맞춤. SSE·폴링 두 화면을 가른 사례라는 내용은 유지
같은 화면을 1편은 '처리 파이프라인 화면', 2편은 '처리 현황 화면' 으로 불러 시리즈 내 명칭이 어긋났다. 1편 기준인 '처리 파이프라인 화면'으로 통일
화면을 SSE로 고른 이유만 있고 화면 자체가 어떤 것인지 설명이 얇았다. 여러 처리 작업이 레인별로 수집·분석·검출·저장 단계를 지나고 처리량만큼 점이 흐르는 실시간 흐름 화면임을 서술 클라이언트가 직전 스냅샷과의 차이로 점을 만든다는 구조를 함께 짚어 뒤의 전송 순서 역전(섹션 3) 문제로 자연스럽게 연결. 도메인은 익명화해 처리 작업의 일반 파이프라인으로 서술
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
개요
realtime-communication시리즈 2편. 1편(#142, develop 병합 완료)에서 뗀 실무 사례를 앞에 두고, SSE를 실제 운영에 올리며 부딪힌 문제들을 순서대로 다룬다.신규 글:
sse-production-implementation.md제목: SseEmitter를 반환하고 나서 시작된 일들
컨트롤러에서
SseEmitter를 반환하면 화면은 뜨지만, 그 코드는 "동작하는 코드"일 뿐 "운영에 올릴 수 있는 코드"는 아니다. 그 간극을 실제로 부딪힌 순서대로 정리했다.구성
send는 블로킹이므로 전송을 전용 풀로 분리complete와send의 락 경합, 종료 전용 풀 분리특징
sse-emitter,back-pressure,cas,broken-pipe,async-dispatch,idempotent)테스트
수동 확인: 용어 6개 각 1회, 이미지 12개 전부 실제 파일과 일치, 그림 1~6 순차