【えっじらんたいむ】
エッジランタイム とは?
最終更新:
💡 分散した拠点で、リクエストを処理する実行環境
ネットワークのエッジ側でコードを動かす実行環境。Webサービスでは、分散した拠点でリクエストを処理する軽量なランタイムを指すことが多い。対応APIや実行場所、起動の仕組みはサービスによって異なる。
📌 このページのポイント
- 利用者に近い拠点などでコードを実行し、通信の往復を減らす用途がある
- Cloudflare WorkersはV8 Isolateを使う実装の一例
- Web APIやNode.js互換APIの対応範囲は実装・設定で異なる
- 実行場所とデータの場所を含め、全体の応答時間で判断する
エッジコンピューティングとは違うの?
エッジコンピューティングは処理を利用者やデータの近くに置く広い考え方。エッジランタイムは、その場所でコードを動かす実行環境を指すよ。WebではCloudflare Workersのような分散拠点で動く仕組みが例になるんだ。
起動が速いのはなぜ?
WorkersではV8というJavaScriptエンジンのIsolateを使うよ。既存の実行環境の中に、コードとメモリーを分離した軽量な環境を作る。関数ごとに仮想マシンを起動する方式の負担を避けられるんだ。すべての製品や応答が0ミリ秒という意味ではないよ。
リクエストごとに新しく作るの?
必ずそうではないよ。同じIsolateで複数のリクエストを処理することもあるし、環境が破棄されることもある。残したいデータをグローバル変数だけに保存する設計には注意しよう。
日本からなら必ず日本で動いて速くなる?
まとめ:ざっくりこれだけ覚えればOK!
「エッジランタイム」って出てきたら「ネットワークの端に近い拠点などでコードを動かす実行環境」と思えばだいたいOK!
📖 おまけ:英語の意味
「Edge Runtime」 = エッジ側の実行環境
💬 edgeは「端」、runtimeは「実行環境」。広い概念のエッジコンピューティングに対し、ここではWebサービスのコードを動かす環境に注目しているよ。