# Durable Streams - 클라이언트 애플리케이션을 위한 실시간 동기화 오픈 프로토콜

> Clean Markdown view of GeekNews topic #25290. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=25290](https://news.hada.io/topic?id=25290)
- GeekNews Markdown: [https://news.hada.io/topic/25290.md](https://news.hada.io/topic/25290.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2025-12-24T09:31:01+09:00
- Updated: 2025-12-24T09:31:01+09:00
- Original source: [github.com/durable-streams](https://github.com/durable-streams/durable-streams)
- Points: 25
- Comments: 0

## Summary

**Durable Streams**는 HTTP 위에서 동작하는 **내구성 스트리밍 프로토콜**로, 브라우저·모바일·네이티브 클라이언트 간 데이터를 안정적으로 동기화합니다. 오프셋 기반 재개 기능을 통해 연결이 끊겨도 중단 지점부터 이어받을 수 있으며, CDN 캐시를 활용해 수백만 동시 구독자도 단일 오리진에서 처리합니다. 기존 WebSocket·SSE의 불안정성을 보완하면서, AI 대화 스트리밍이나 데이터베이스 실시간 동기화 등 다양한 실시간 시나리오에 적용할 수 있습니다.

## Topic Body

- **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년간 실서비스에서 검증한 프로토콜

## Comments



_No public comments on this page._
