Durable Objects
Cloudflare Workers上のメモリ状態を永続化する
JavaScript の通常のオブジェクトとは異なり、Durable Objectsは永続的な状態をディスクに保存できます。つまり、ストレージへのアクセスが高速であるだけでなく、オブジェクトはメモリ内の状態の一貫したコピーを安全に維持し、待機時間なしで操作できます。インメモリ オブジェクトは、アイドル状態のときにシャットダウンされ、後でオンデマンドで再作成されます。ref
強整合性
例えば、key/value風のclass instanceをserver側で作成すると、それが全CDN上で強整合性で同期される(!?)
Workers Durable Objects Beta: A New Approach to Stateful Serverless
beta版公開 2020/9/28
Durable Objects — now Generally Available
正式リリース 2021/11/15
参考
Cloudflare Workers の Durable Objects について
2020/10
今現在の Web Application のパラダイムでは、あらゆる状態を一度データベースに永続化するのが主流ですが、Durablo Objects があれば、 短時間〜中時間の処理を、これらのアクター内部の永続化で高速に処理させるといった選択肢も増えてきます。
プログラミングの考え方めっちゃ変わりそうmrsekut.icon
#WIP
WebSocketもサポートしている
Remix on Cloudflare WorkersからDurable Objectsを使う | DevelopersIO
使ってみている例
特別なDSLで書くとかではなく、普通にJSでclassを定義しているだけで使える
https://blog.cloudflare.com/ja-jp/durable-objects-ga-ja-jp/
https://developers.cloudflare.com/workers/learning/using-durable-objects/
https://blog.cloudflare.com/introducing-workers-durable-objects/