いわゆる「マイクロアーキテクチャ」(基本的に、完全に独立して実行できるが同時に連携できる複数の小さな NodeJS プロジェクト) に基づいて NodeJS REST API プロジェクトを構築しようとしています。
現在、ユーザーはアプリから画像をアップロードでき、NodeJS バックエンドが画像を適切に処理して保存します。
今、私がやりたいことは次のとおりです。
ユーザーがアプリからアップロードする画像を選択 -> アプリが「メイン API」エンドポイントにリクエストを送信 -> メイン API エンドポイントがこのリクエストを「イメージ サービス」に転送 -> イメージ サービス (これは完全に別のサーバー) が正常に終了した場合、画像が保存されている URL をメイン API サーバー エンドポイントに返す必要があり、メイン API サーバー エンドポイントはアプリに情報を返します。
私の質問は、画像のアップロード要求をあるサーバーから別のサーバーに転送するにはどうすればよいですか? 理想的には、メイン API がイメージを一時的に保存してから、イメージ サービスにリクエストを送信することは望ましくありません。
私が望むのは、メイン API が受信したデータを Image Service サーバーに直接転送することです。ディスクやメモリに一時的に保存することなく、ある場所から別の場所にデータを「ストリーミング」したいと言うことができると思います。文字通り、あるサーバーから別のサーバーに「トンネル」したいだけです。
これは可能ですか、これは効率的な方法ですか? アプリがアクセスする 1 つの中心点が必要なだけで、この Image Service サーバーについて知られたくありません。アプリがメイン API に対してのみリクエストを行い、必要に応じて他の小さなサービスを呼び出すようにしたいと考えています。
NodeJS、Express、Multer (画像のアップロード用)、および Digital Ocean ホスティング (それによって違いが生じる場合) を使用しています。