피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Redis 대체 SSE+SQLite 조합으로 Read Latency 0.1ms 달성
A Pattern Sketch: Server-Sent Events as a Fanout Channel for Edge State
AI 요약
Context
Edge Auth 구조에서 모든 요청마다 공유 저장소(Redis)를 조회하는 네트워크 왕복 비용 발생. Mutation 빈도는 낮으나 Read 빈도가 극도로 높은 비대칭적 트래픽 특성에 따른 비효율성 존재.
Technical Solution
- SSE를 이용한 One-way Fanout 채널 구축으로 Master에서 Edge로의 상태 변경분 전파
- In-process SQLite 도입을 통한 네트워크 호출 제거 및 로컬 함수 호출 기반의 상태 확인 구조 설계
- SSE 표준의 Last-Event-ID를 활용한 재연결 시 자동 State Catch-up 메커니즘 구현
- Ring Buffer 기반의 이벤트 저장 및 브로드캐스트를 통한 분산 노드 간 상태 동기화
- Pure Function 파이프라인 설계를 통한 TTL 결정 로직의 컴포넌트화 및 확장성 확보
- Tag 기반 Invalidation 이벤트를 동일 채널로 전송하여 Edge 로컬 캐시의 정밀한 제어 구현
실천 포인트
1. Read/Write 비대칭성이 극심한지 확인
2. 네트워크 홉 제거를 위한 In-process DB 도입 검토
3. 양방향 통신이 불필요한 경우 WebSocket 대신 표준 HTTP 기반 SSE 채택
4. 상태 복구를 위한 Last-Event-ID 기반의 시퀀싱 전략 수립