クラウド機能を低遅延で実行するための高速 Node.js マイクロサービス エンジン。管理者ダッシュボードが含まれています。
ドキュメントを確認する »
バグ報告・機能リクエスト
Voltz Engine は、高速でクラスター化された Node.js マイクロサービス エンジンであり、コールド スタートからインスタンスを 100 ミリ秒で開始し、その後の関数との対話は、通常の状態では 10 ミリ秒未満に収まります。 V8 VM インスタンスはコンテキストを分離するために使用され、クラウド ベースのサービスと相互運用可能なセルフホスト型マイクロサービスとしてコードを設計できるようにします。マルチスレッドとは、インスタンスがすべての CPU コアのクラスター全体にスケーリングされることを意味します。管理 API を使用すると、付属の管理インターフェイスから Voltz を管理できます。
リリース ページからダウンロードし、start.sh または start.bat ファイルを実行して、Boltz をインストールして実行します。
または、Docker Hub のbsnk/boltz-engine
からプルし、次の手順をセットアップします。
config.json と Secrets.json を作成します -- これらはリリース ページのリリースからダウンロードできます。
それらをフォルダーに配置します。ここには、 boltz-data
が入ります。
docker イメージを実行します
$ docker run --publish 5000:5000 --publish 8000:8000 -v /boltz-data:/boltz -v /boltz-data:/secrets/ -v /boltz-data:/database -v /boltz-data/sandbox:/sandbox/ bsnk/boltz-engine:latest
これらのフォルダーを好みに合わせて変更し、config.json と start コマンドで使用するポートをカスタマイズできます。本番環境でバグが発生しないようにするには、最新バージョンではなく1.1.0
などのバージョンのboltz を使用する必要があるでしょう。 /boltz はコンテナー内の config.json ファイルを検索する場所で、残りはドキュメントに従ってカスタマイズできます。
Voltz を使用すると、Web リクエストを受信して処理する VM インスタンスと、コードや構成を保存するボリュームを作成し、データを仮想ディスクに一時的に保存できます。インスタンスまたはボリュームをリロードする必要がある場合、すべての変更はクリアされます。
パッケージは package.json からロードされ、ホスト ファイル システム上のサンドボックス フォルダーにインストールされ、同じプロセス上の同じボリュームを使用するインスタンスと共有されます。
Voltz エンジンの推奨用途は、後で適切なクラウド製品で拡張できる単純なマイクロサービス プロジェクトです。オーバーヘッドと学習曲線が低いため、ローカルで処理できるほど軽い場合は、プロジェクトをクラウド プラットフォーム上で実行するように設定することなく、プロジェクトの機能に集中できます。また、非常に高速であり、通常のクラウド機能では数千ミリ秒かかるのに対し、ローカル マシンでは 10 ミリ秒未満で結果が得られます。さらに、付属の管理インターフェイスを使用すると使いやすくなります。
ボルツ エンジンには次のようないくつかの問題があります。
個別ボリュームのノードモジュールサンドボックスの実装により、パッケージのインストールサイズが大きくなります。
管理 API は基本認証を使用するため、パスワードを変更するにはサーバーを再起動する必要があります。
GCP Cloud Shell インスタンスを使用して、関数はname
クエリ パラメータを感嘆符付きで繰り返すというタスクを実行し、次のように実行されました。
単一のワーカー プロセスを使用する場合: レイテンシ50ms
で 1 秒あたり4500-5000
リクエスト。
4 つのワーカー プロセスを使用: レイテンシ4-8ms
秒で 1 秒あたり5500-6000
リクエスト。
1 人のワーカーで同じ機能を使用すると、約100ms
および5600rps
のレイテンシで200,000
リクエストを実行する1000
同時接続を達成できます。
ボルツは、エンジンまたは Web インターフェイスを改善するためのプル リクエストを受け付けています。こちらの Web リポジトリにあります。 Google eslint ルールセットで typescript を使用するため、一貫性を保ち、パフォーマンスを維持するように努めてください。
変更を配布する準備ができたら、Web ファイルがpublic
ディレクトリにあることを確認する必要があります。そうでない場合は、Web インターフェイスを開発モードでエンジンと一緒に実行するだけです。
著作権 2021 bsnk-dev
本ソフトウェアおよび関連ドキュメント ファイル (以下「ソフトウェア」) のコピーを入手した人には、使用、コピー、変更、マージする権利を含むがこれらに限定されない、制限なくソフトウェアを取り扱う許可が、ここに無償で与えられます。 、以下の条件を条件として、本ソフトウェアのコピーを出版、配布、サブライセンス、および/または販売すること、および本ソフトウェアが提供される人物にそれを許可すること。
上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは主要部分に含まれるものとします。
ソフトウェアは「現状のまま」提供され、明示的か黙示的かを問わず、商品性、特定目的への適合性、および非侵害の保証を含むがこれらに限定されない、いかなる種類の保証も行われません。いかなる場合においても、作者または著作権所有者は、契約行為、不法行為、またはその他の行為であるかどうかにかかわらず、ソフトウェアまたはソフトウェアの使用またはその他の取引に起因または関連して生じる、いかなる請求、損害、またはその他の責任に対しても責任を負わないものとします。ソフトウェア。