Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cloudflare Workers で Rust 選ぶ理由 is 何?

Avatar for sadnessOjisan sadnessOjisan
April 13, 2026
6

Cloudflare Workers で Rust 選ぶ理由 is 何?

What is Cloudflare Workers で Rust選ぶ理由 ?

Avatar for sadnessOjisan

sadnessOjisan

April 13, 2026

Transcript

  1. SoftWare Design での連載 • 2025/5: HTTP Chaching について ◦ この回、Web配信におけるCDNのリアルなユースケー

    スやそもそもキャッシュとは何かという話を初学者向け についてまとめており、結構自信作です。 • 2025/6: Rust SDK について • 2025/8: 初学者向けの CDN ハンズオン
  2. 当時エッジに関心があった • 当時は日本の経済についての新聞社で働いて いた • 大量のリクエストを裁く必要があり、キャッシュが 重要 ◦ キャッシュによる負荷軽減と高速な配信 •

    一方で有料コンテンツを扱う手前、キャッシュの 出しわけというロジックが実務上どうしても必要 となり、エッジでのコンピューティングに関心
  3. Rust と Cloudflare について • そもそも Cloudflare Workers は V8

    が中核 にあるため Wasm が動いてしまう • あるとき、workers-rs という公式サポートが 得られた • workers-rs は SDK だけでなく HTTP ルー ターも提供しており、これを利用 • あるとき、http クレートに対応してしまったせ いで、うっかり Axum(デファクトなフレーム ワーク) が動いてしまった ◦ (実は前途多難な事情もあるので詳しくは https://blog.ojisan.io/cf-axum-muriyari/ )
  4. Rust で書ける環境は整ったがモチベーションは? • Rustは安全 ◦ と言われているが、TypeScriptでよくね? • Rustはハイパフォーマンス ◦ と言われているが、JSでもよくね?Web

    開発するなら Rust 使ってもコピーだらけでは ... • RustはGCがない ◦ ネットワークのレイテンシーに比べたら誤差なのでは? • Rustにしかないライブラリが動く ◦ それはそうだけど、Web周りで具体的なユースケースって何かある? どれもぱっとしない気がする...?
  5. 一番の利点: ちりつも • 正直 Rust/Wasm で書くメリットは薄いと著者は感じるが、CDNは全リクエストが通 過するポイントであり、ほんとのちょっとの改善が、塵も積もれば山となるのである • CPUを使う処理は JS

    よりも Wasm 使う方が良さそう • リソース管理がつきまとうので メモリ利用量は小さく、予測もしやすい • そもそもEdgeコンピューティングは富豪的なアプローチができない
  6. Edgeでの代表的な処理: キャッシュの出しわけ • 有料コンテンツの配信をキャッシュに乗せると、課金せずともみれてしまいそう? • それを防ぐためにキャッシュの出しわけを行う(Varyヘッダーなど使うと容易) • どのユーザーがどの属性か識別し、尚且つなりすましを防ぐためには、Edge上で 認可の仕組みが必要 •

    認可はCPUを使う処理であり、パフォーマンスが出る言語を採用するのがお得で はある。(が、一般的な認可はNode.jsでもネイティブモジュールで対応できるので、 単体で劇的な性能劣後があるわけではないことに留意
  7. Edgeでの代表的な処理: レスポンスの書き換え • Edgeが全リクエストの通り道としたとき、ここで何かリクエスト・レスポンスを書き換 えたいと言う欲求がいつかは出てくる ◦ 特定ユーザー属性の人にだけバナーを出したい ◦ オリジンサーバーで書き換えればいいやん? ◦

    エッジを垂直分割のロードバランサーとして使っている場合は全サービスにその対応するの?しな いよね? • このときレスポンスを変換する処理はCPUを使う処理になるのでWasmの方が有 利になりやすい
  8. 結論: Cloudflare Workers を何で実装するか • 別になんでも良さそう • Edgeだからこその、CPUを使う処理というのは存在しており、パフォチューは無視 できないトピックではある •

    アクセス数が多すぎたりして少しのパフォチューに価値が出るなら、Wasmを使う方 法を追求したら良さそう • Wasmの生成言語としてはRustが良さそう • けどJSで書いても普通は困らなさそう。というか困ってる話を聞いたことがない。