Spin は、Fermyon クラウド上で実行される WebAssembly を使用してクラウド マイクロサービスを構築および実行するための新しいオープン ソース フレームワークです。 Fermyon は の SDK もリリースしています。 ネット。
まず、WebAssembly は、バイトコード形式にコンパイルできる任意の言語でコードを記述するために、すべての主要な Web ブラウザーに組み込まれるランタイムとして宣伝されました。 そのため、一般的なブラウザは JavaScript だけでなくコンパイル済みのバイナリも実行できるため、2 つ目のプロパティである Javascript キラーが追加されました。 .
物事が進むにつれて、これらの仮定は両方とも暴かれました。 WebAssembly はブラウザーの制約を解き放ち、マイクロサービスやサーバーレス機能の実行に使用したり、コマンド ラインで Wasm バイナリを実行したりできるため、クロスプラットフォームの CLI アプリケーションを開発することもできます。 そのため、JavaScript を強制終了するのではなく、JavaScript と相互運用することさえできます。
しかし、クラウド向けの WebAssembly に戻りましょう。 Fermyon は Spin を作成しました。
Web アプリ、マイクロサービス、およびその他のサーバーのようなアプリケーションのフレームワーク。
Spin は、HTTP リクエストへの応答などを実行できる WebAssembly モジュールを作成するためのインターフェイスを提供します。 Spin のユニークな点の 1 つは、多言語フレームワークであることです。 Rust と Go はどちらも Spin で強力にサポートされていますが、Python、Ruby、AssemblyScript、Grain、C/C++、およびその他の言語を作成することもできます。
Spin を使用すると、Web サーバー (WAGI サーバーに置き換えられます) を除外し、必要な言語 (Rust、C、JavaScript、Python など) で HTTP ハンドラーを書き出すことによってマイクロサービスのオーバーヘッドを削減し、WebAssembly にコンパイルします。 ホスト ランタイムは、ファイルシステム (高度にサンドボックス化されたもの)、送信 HTTP、キー/値ストレージなどの必要な機能を提供します。 したがって、マイクロサービスをビジネス ロジックの処理に集中させ、基盤となるプラットフォームですべての HTTP、SSL/TLS などを管理できるようにします。
Spin を使用すると、クラウド コンピューティング アプリケーションに必要な要件も満たすことができます。
- 強力なセキュリティ
- 小さなバイナリ サイズ
- 読み込みと実行が速い
- 多くの OS とアーキテクチャのサポート
- クラウド サービスとの相互運用性
Rust で記述された Spin “Hello World” は次のようになります。
#[http_component]
fn hello_world(_req: Request) -> Result
Ok(Response::builder()
. status(200)
. body(Some("Hello, Fermyon!". into()))?)
}
Spin モジュールを書くことは、Go でも大差ありません。
func main() {
spin. HandleRequest(func(w http. ResponseWriter, r *http. Request) {
fmt. Fprintln(w, "Hello, Fermyon!")
})
}
スピン v0. 7. 先月リリースされたフレームワークの 0 バージョンには、次のものが付属しています。
- シークレットの HashiCorp Vault 統合
- Spin アプリケーションから MySQL データベースへの接続のサポート。
- JavaScript および TypeScript 用の新しい Spin SDK
Fermyon は の SDK もリリースしています。 NET は次の目的で使用できます。
- Spin executor を使用して Web アプリケーションとマイクロサービスを構築する
- HTTP リクエストを外部ホストに送信する
- Redis ストアの読み取りと更新
- PostgreSQL データベースのクエリと更新
以上で、WebAssembly は、VM、コンテナー、および Kubernetes に代わる、より優れた軽量の代替手段となります。
詳しくは
フェルミオンスピン
スピンの紹介
Spin で構築されたシンプルな URL 短縮サービス
関連記事
Blazor WebAssembly クラッシュ コース
I Programmer の新しい記事について通知を受けるには、毎週のニュースレターにサインアップし、RSS フィードを購読して、フォローしてください。 ツイッター、 Facebook または Linkedin。
コメント
または、コメントを電子メールで送信してください: comments@i-programmer.info
.