私は、非同期、イベント駆動型、ノンブロッキング プログラミング モデルのNode.jsプログラミング パラダイムにかなり精通しています。私は現在、仮想マシンのクラウド コンピューティング エコシステム内でNode.jsの使用をどこまで拡張できるかを理解しようとしています。
Web ダッシュボードのサーバー側では、Node.js を http サーバーとして実行し、Cassandra データベースとやり取りしています。ユーザーは、ブラウザーのダッシュボードを介してクラウド サービスを操作します。クライアントとサーバーの間で開かれた Websocket により、サーバー側でユーザーのダッシュボードへのアクションを開始できます。
ユーザーのタスク アクティビティの一部は、ワークフロー アクティビティ用のクラウドベースの仮想マシンを生成することです。これらの VM は、システムのメインの Cassandra データベースと対話する必要があるアプリケーションを実行します。
次のNode.jsアーキテクチャ シナリオに関するフィードバックをお待ちしております。
仮想マシンがユーザーによって生成されると、VM は VM 上で実行されている Node.js インスタンスで開始されます。そのVM の Node.js インスタンスは、この VM、つまりNode- to-Node Websocket は、VM の Node.js インスタンスから確立されます。
VM の Node.js インスタンスは、VM 内で監視する一連のイベントを設定します。システムの Node.js インスタンスは、VM の Node.js インスタンスから監視する一連のイベントも設定しています。VM の Node.js インスタンス イベントがトリガーされて完了すると、必要な Cassandra DB アクションが開始されて完了します。システムの Node.js インスタンスは、VM からの特定のイベントも監視して、Cassandra DB アクションも開始します。
実際、私がここで質問しているのは、両方の Node インスタンスが同じバックエンド DB と通信する Websocket を介して Node.js-2-Node.js 通信チャネルを確立することは理にかなっていますか?
この構成では、システムの Node.js インスタンスと VM の Node. js インスタンス。
ここで説明していることは、非典型的で無意味なシナリオですか? このユース ケースで Node.js を使用するより良い方法はありますか? より適切なコンポーネント構成はありますか?
よろしく、 マーク