Open8
CloudFlareを触ってみる
CloudFlare全く触ったことないのでTutorialをやってみる。
とりあえず Get Startedをやる
最初に詰まったのは wrangler login
でpermission errorになること。
~/.wranglerがroot権限になっていたのが原因。
chowmでいい感じにする。
該当issue: https://github.com/cloudflare/wrangler/issues/1925
sudo chown -R ユーザー名 ~/.wrangler
次にQRコード生成のTutorialをやってみる。
wrangler publishでUncaught ReferenceError: require is not defined
のエラー。
よくみるとwrangler.tomlの設定を飛ばしていた。
type = "webpack"
を指定すると実行できた。
確かにQRコードを発行できている。 serverless function使えてそう。
publishがお手軽でいい。
雰囲気実行はできるようになったけど実体が全然つかめないので、公式のLearnの重要そうなトピックを掻い摘んで確認する。
以下特筆した方がよさそうだった学び。
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
コマンドでログを確認できる
Workerを削除したいと思ったけどUI見つけるのに手こずった。
各Workerの右上に「Manage Service」のリンクがあるのでそこから消せる。
マイクロフロントエンド的な使い方もできるらしい