こんにちは、マネーフォワード ケッサイのテックリードをやっておりますgarsueです。
最近、CDNのエッジで動くサーバレス環境が充実してきましたね。
代表的なものとしてはCloudflare WorkersやfastlyのCompute@Edgeなどがあります。CloudflareではKey-Valueストアもあり、S3やGCSのようなオブジェクトストレージまで揃いつつあるようです。
そんな流れに乗って、Cloudflare Workersを使ってGoで実装した計算ロジックをエッジで動かせるか検証してみました。今回はその結果をレポートします。
TL;DR
- アップロードサイズ制限があるのでTinyGo使って小さいwasmバイナリを作る
- wrangler.tomlで
type = "CompiledWasm"
のモジュールとしてwasmバイナリをアップロードする - wasmのエントリポイント内でJavaScriptの名前空間にJavaScriptの関数としてセットする