Open8

CloudFlareを触ってみる

iricoirico


確かにQRコードを発行できている。 serverless function使えてそう。
publishがお手軽でいい。

iricoirico

雰囲気実行はできるようになったけど実体が全然つかめないので、公式のLearnの重要そうなトピックを掻い摘んで確認する。
https://developers.cloudflare.com/workers/learning/how-workers-works/

以下特筆した方がよさそうだった学び。

How Worker works

  • Worker ランタイムはV8を使っている
  • V8の分離をいい感じにやってくれる(オーケストレーション)
  • V8の分離の仕組み上、isolatesが削除される可能性があるので、なるべくGlobalでmutableなstateは持たない方がいい
    • 2つのユーザーrequestが同じ/違うインスタンスにルーティングされる保証はない

Security model

  • セキュリティの観点から、workerの実行時間をローカルで特定できないようにしている(Date.now()とか)
  • マルチスレッドも同じく禁止(Web Workerとかかな?)
  • Spectre攻撃に耐性がある、すごい

Logging from Workers

  • ダッシュボード/ wrangler tail コマンドでログを確認できる
iricoirico

Workerを削除したいと思ったけどUI見つけるのに手こずった。
各Workerの右上に「Manage Service」のリンクがあるのでそこから消せる。

iricoirico

王道のCDNな使い方も知りたかったので追加で下記のTutorialをやってみた。
https://developers.cloudflare.com/workers/tutorials/configure-your-cdn/

Cache APIが用意されており、
主なインターフェースは下記の二つ。

  • cache.put
  • cache.match

responseはコードで一度だけしか応答しないようにデザインされているので、putで詰める場合は
response.cloneを用いて対応する必要がある。 下記のような感じ

event.waitUntil(cache.put(event.request, response.clone()));