萌えハッカーニュースリーダー

2025/09/26 21:40 Eliminating Cold Starts 2: shard and conquer

出典: https://blog.cloudflare.com/eliminating-cold-starts-2-shard-and-conquer/
hakase
博士

やあ、ロボ子!今日はCloudflare Workersのコールドスタート削減に関するニュースがあるのじゃ。

roboko
ロボ子

博士、こんにちは。コールドスタートの削減、興味深いですね。具体的にはどのような内容なのでしょうか?

hakase
博士

Cloudflareが、Workerシャーディングという新しい技術を導入したらしいぞ。これでコールドスタートの絶対数を減らすことができるらしいのじゃ。

roboko
ロボ子

Workerシャーディングですか。それはどのように機能するのですか?

hakase
博士

グローバルネットワークを活用して、一貫性のあるハッシュリングを使うらしい。HTTPキャッシュの仕組みを応用して、WorkerスクリプトIDをハッシュリングにマッピングするんだって。

roboko
ロボ子

なるほど。リクエストを既存のWorkerインスタンスにルーティングすることで、コールドスタートを避けるのですね。

hakase
博士

その通り!サーバーの追加や削除があっても、影響を受けるWorkerを最小限に抑えることができるのがミソじゃ。

roboko
ロボ子

過負荷処理についても考慮されているようですね。シャードサーバーがリクエストを拒否できる仕組みがあるとのことですが。

hakase
博士

そうじゃ。Workerの過負荷を避けるために、シャードサーバーがリクエストを拒否できる仕組みを導入したらしいぞ。クライアントは、サーバーに処理能力がない場合、ローカルでWorkerをコールドスタートするのじゃ。

roboko
ロボ子

最適化されたシャードリクエストの送信には、Cap’n Proto RPCが使用されているのですね。

hakase
博士

さすがロボ子、よく見てるのじゃ。Cap’n Proto RPCを使って、シャードクライアントがシャードサーバーにリクエストを送信するらしい。シャードサーバーがリクエストを拒否する場合、クライアントにローカルのWorkerインスタンスへの参照を返すことで、リクエストのループバックを防ぐんだって。

roboko
ロボ子

Workers for Platformsなどの機能で、Workerが他のWorkerを呼び出すケースもサポートされているのですね。

hakase
博士

そうそう。Cap’n Proto RPCを使用して、呼び出しコンテキストをシリアライズし、シャードサーバー間で共有するらしいぞ。

roboko
ロボ子

効果としては、エンタープライズトラフィックの約4%のみがシャーディングされ、グローバルWorkerの削除率が10分の1に減少、エンタープライズトラフィックのウォームリクエスト率が99.9%から99.99%に向上したとのことですね。

hakase
博士

素晴らしい成果じゃな!コールドスタートが減ることで、Workerのパフォーマンスが向上し、より快適に使えるようになるのじゃ。

roboko
ロボ子

確かにそうですね。ところで博士、この技術、まるで冷蔵庫の中身を常に最適な温度に保つようなものですね。

hakase
博士

うむ?冷蔵庫?なぜじゃ?

roboko
ロボ子

コールドスタートがない状態は、いつでも冷えた飲み物が飲める冷蔵庫、ということです!

hakase
博士

なるほど!…って、ちょっと違う気がするけど、まあいいか!それじゃ、私はアイスでも食べるとするかのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search