durable-streams/durable-streams
The data primitive for the agent loop.
What it solves
클라이언트 애플리케이션에서 실시간 데이터 스트리밍의 취약성을 해결합니다. WebSocket이나 SSE와 같은 표준 연결은 페이지 새로고침, 네트워크 변동, 장치 전환 시 종종 실패하여 데이터 손실이나 복잡한 맞춤형 재개 프로토콜이 필요하게 됩니다. 이는 토큰 스트리밍 및 에이전트 진행 이벤트가 사용자 경험에 중요한 AI 애플리케이션에서 특히 문제됩니다.
How it works
Durable Streams는 순서가 보장되고 재생 가능한 데이터 스트림을 만들기 위한 최소한의 HTTP 기반 프로토콜을 제공합니다. 오프셋 기반 읽기를 사용하여 클라이언트가 스트림의 특정 지점에서 재개할 수 있습니다. 실시간 테일링을 위해 롱 폴링과 SSE 모드를 모두 지원하며, CDN 친화적으로 설계되어 원본 서버에 과부하를 주지 않고 수백만 동시 시청자에게 대규모 팬아웃이 가능합니다.
Who it’s for
협업 AI 앱, 에이전트 시스템, 실시간 데이터베이스 동기화 도구, CRDT를 사용하는 협업 편집기, 그리고 공용 인터넷 상에서 탄력적인 다중 장치 상태 동기화가 필요한 모든 애플리케이션을 개발하는 개발자를 위한 것입니다.
Highlights
- Refresh-safe: 사용자는 새로 고침이나 앱을 백그라운드로 전환한 후에도 정확히 중단된 지점부터 다시 시작할 수 있습니다.
- Resumable: 오프셋 기반 읽기로 재연결 시 데이터 손실이 없습니다.
- Universal: 표준 HTTP를 통해 웹 브라우저, 모바일 앱, 네이티브 클라이언트, 엣지 워커에서 작동합니다.
- Multi-device Sync: 단일 스트림을 여러 장치나 탭에서 실시간으로 볼 수 있습니다.
- Broad Language Support: TypeScript, Python, Go, Elixir, .NET, Swift, PHP, Java, Rust, Ruby용 클라이언트 라이브러리를 제공합니다.