7 ポイント 投稿者 xguru 2020-09-29 | 1件のコメント | WhatsAppで共有
  • Serverless向けの「Unique Durable Objects」

→ Objects : OOPの概念そのままで、クラスのインスタンスであり、コードと状態を含む

→ Unique : UUIDを持つ。世界中の別のWorkerからでもIDさえ分かれば、そのオブジェクトにメッセージを送れる

→ Durable : 一般的なオブジェクトと違い、ディスクに永続的な状態を保存できる。レイテンシなしでアクセスして利用可能

  • 2つの主要機能

→ Storage : 強力なTransactional Consistencyを提供。大きなDBを複数の小さな単位に分割可能。運用負荷なしでスケール

→ Coordination : サーバーレスのリクエストは通常ランダムにロードバランシングされるため、2つのクライアントが同じWorkerに接続することは不可能だったが、これで可能に。

つまり、リアルタイムチャット、共同編集、ビデオ会議、Pub/Subメッセージキュー、ゲームセッションなどをサーバーレスで実装可能

WebSocketを使うにはこのようなCoordinationが必要だったが、DOによって可能になったことで、WorkersでもWebSocketのサポートを開始

  • Durable ObjectsはRegionの概念なしに全世界を対象とする(Cloudflareが自動的に近い場所へ転送して管理)

適用分野

  • キラーアプリは、大規模なユーザーが使うリアルタイム文書共同編集ツールのようなものになりそう

  • Atomic Counter : 複数クライアントが同時にリクエストしても、増加/減少の損失がない同時処理カウンター

  • チャット : 超大規模なチャットルームも数百行のコードで実現でき、各IPごとのレート制限も可能

  • ショッピングカート、ゲームサーバー、IoT Coordination、ソーシャルフィード、コメント/チャットウィジェット

Durable Objectsの未来 : 真のEdgeデータベース

現在はベータ招待を受ける必要がある

価格はまだ検討中だが、AWS DynamoDBやGoogle Cloud Firestoreより安くなる予定とのこと(PMのGregがHNに残したコメントより)

1件のコメント

 
xguru 2020-09-29

サーバーレスはこれまで主にステートレスなものに適用されてきましたが、Coordination が必要な部分まで含めるように、さらに拡張しているということですね。

最近のCloudflareの動きはとても興味深いです。

CloudFlare、Workers Unboundサーバーレスのベータを開始 https://ja.news.hada.io/topic?id=2543

CloudFlareがWorkersのコールドスタート時間を0にした方法 https://ja.news.hada.io/topic?id=2567

Cloudflareが自社グローバルネットワークを利用する24時間生放送TVサービスをローンチ https://ja.news.hada.io/topic?id=2227