7P by xguru 2020-09-29 | ★ favorite | 댓글 1개

- Serverless를 위한 'Unique Durable Objects'
ㅤ→ Objects : OOP 개념 그대로, 클래스의 인스턴스이며 코드와 상태 포함
ㅤ→ Unique : UUID를 가짐. 전세계 다른 Worker에서 ID만 알면 해당 개체로 메시지 가능
ㅤ→ Durable : 일반 객체와 달리 디스크에 영구적인 상태 저장 가능. 레이턴시 없이 접근하여 사용
- 두개의 메인 기능
ㅤ→ Storage : 강력한 Transactional Consistency 제공. 큰 DB를 여러개의 작은 단위로 분리 가능. 유지 관리 부담없이 확장
ㅤ→ Coordination : 서버리스 요청들은 보통 무작위로 로드밸런신 되므로 두개의 클라이언트가 동일한 워커와 연결되는게 불가능 했지만, 이제 가능.
ㅤㅤ즉, 실시간 채팅, 공동 편집, 화상 회의, Pub/Sub 메시지 큐, 게임 세션등을 서버리스에서 구현 가능
ㅤㅤWebSocket을 사용하려면 이런 Coordnation이 필요했는데 DO를 통해 가능해지면서 Workers 에 WebSocket 도 지원 시작
- Durable Objects 는 Region 개념이 없이 전세계 대상 ( 클라우드 플레어가 알아서 가까운 위치로 전송하고 관리 )

적용 분야
- 킬러앱은 대규모 인원이 사용하는 실시간 문서편집 협업도구 같은 것이 될 것
- Atomic Counter : 여러 클라이언트가 동시에 요청해도 증가/감소 에 대한 손실이 없는 동시 처리 카운터
- 채팅 : 초대규모 대화방도 몇백줄의 코드로 가능하며, 각 IP당 레이트 리밋도 가능
- 쇼핑카트, 게임서버, IoT Coordination, 소셜 피드, 코멘트/채팅 위젯

Durable Objects 의 미래 : 진정한 Edge 데이터베이스

현재는 베타 초대를 받아야 사용 가능

가격은 아직 고민중이지만, AWS DynamoDB 나 Google Cloud Firestore 보다 저렴할 예정이라고 ( PM인 Greg 가 HN에 남긴 댓글에서 )

서버리스가 대부분 Stateless 한 것들에 주로 적용되어 왔는데, Coordination 필요한 부분들까지 포함하도록 더 확장하는 거네요.
요즘 클라우드플레어의 행보는 무척 흥미롭습니다.

CloudFlare, Workers Unbound 서버리스 베타 시작 CloudFlare, Workers Unbound 서버리스 베타 시작
CloudFlare가 Workers의 콜드 스타트 시간을 0으로 만든 방법 CloudFlare가 Workers의 콜드 스타트 시간을 0으로 만든 방법
Cloudflare가 자체 글로벌 네트웍을 이용하는 24시간 생방송 TV서비스 런칭 Cloudflare가 자체 글로벌 네트웍을 이용하는 24시간 생방송 TV서비스 런칭