- WASMでプラグイン作る
- Sandbox機構により安全に実行できる
- WASMランタイムがあればどこでも動く
- Guetで実行する処理をHostで制限することができる
- GuestがクラッシュしてもHostが巻き込まれない
- Shared Library(公式)
- GusetがクラッシュするとHostもクラッシュする
- Guestで動くコードに制限がない
- GoとGo Modulesを揃えないと動かない
- WASM以外(RPC)
- hasicorp/go-plugin
WASI
Host側でアクセスを細かく制御できる
0.2までリリース済
Goは0.1まで実装済
アプリケーションにより、必要なものが異なるのでコンパイラかインタプリタか選ぶ
Tiny GoとGo、どちらでWASMプラグインを作るか精査する必要がある
wazero
wasi-go
dispatchrun/net
上記二つを併せてNetwork Socket対応の実装を利用できる