-
HTTP 기반 내구성 스트리밍 프로토콜로, 웹 브라우저·모바일·네이티브 클라이언트에 데이터를 안정적으로 전송
-
순서 보장·재생 가능 스트림을 생성·소비할 수 있는 단순하고 검증된 방식 지원
-
오프셋 기반 재개 기능으로 연결이 끊겨도 중단 지점부터 이어받기 가능
-
AI 대화 스트리밍, 데이터베이스 동기화, 협업 편집, 이벤트 소싱, 워크플로우 실행 등 다양한 실시간 시나리오에 활용
- 기존의 WebSocket·SSE가 가진 연결 불안정성 문제를 해결
-
Refresh-safe 설계로 탭 전환·앱 백그라운드 전환 후에도 동일 위치에서 재개
-
URL 기반 스트림 공유로 여러 사용자가 동일 스트림을 동시에 시청
-
비용 절감형 CDN 친화 구조로 수백만 동시 연결을 단일 오리진에서 처리 가능
-
다중 디바이스·다중 탭 동기화 지원
- 프로토콜 특징
-
Universal: HTTP가 동작하는 모든 환경에서 사용 가능
-
Simple: 표준 HTTP 기반, 별도 커스텀 프로토콜 불필요
-
Resumable: 오프셋 기반 읽기·재개 지원
-
Real-time: Long-poll·SSE 모드로 실시간 tailing 가능
-
Economical: CDN 캐싱을 통한 효율적 확장성 확보
-
Composable: 상위 추상화 계층(예: Electric의 실시간 Postgres 동기화 엔진) 구축 가능
-
성능 특성
-
15ms 이하 지연 시간, 수백만 동시 구독자 처리, 수평 확장성 확보
-
오프셋 기반 URL 구조로 CDN 캐시 활용 극대화
-
백엔드 스트리밍 시스템과의 관계
- Kafka·RabbitMQ·Kinesis 등 서버 간 메시징 시스템을 보완
-
Durable Streams는 클라이언트 전송 계층을 담당
- 서버는 인증·데이터 변환을 수행하고, Durable Streams가 이를 HTTP 기반으로 팬아웃
-
SSE·WebSocket과의 차이점
- SSE/WebSocket은 단순 연결 제공, Durable Streams는 내구성 로그 기반 구조 제공
-
오프셋 재개·히스토리 재생·다중 리더 지원 등 표준화된 로그语의 장점 결합
-
구현 유연성
- HTTP API와 내구성 저장소, 오프셋 관리만 구현하면 어떤 언어에서도 서버 제작 가능
-
Node.js 참조 서버 및 적합성 테스트·벤치마크 도구 제공
-
주요 활용 사례
-
데이터베이스 실시간 동기화: Postgres 변경사항을 웹·모바일로 스트리밍
-
이벤트 소싱 시스템: 내구성 이벤트 로그 기반 상태 복원
-
AI 대화 스트리밍: LLM 토큰 스트림을 중단 없이 재개 가능
- Apache 2.0 라이선스로 Electric SQL 팀이 1.5년간 실서비스에서 검증한 프로토콜