MongoDB データベースにデータを永続化する Node アプリケーションがあります。User
コレクション用のデータなど、このデータのほとんどは手元にあります。ただし、アプリにはWebsite
コレクションの概念もあり、このコレクションでは、データをどこかからダウンロードしてから保存する必要があります。
アプリケーションで上記の問題をどのように分離する必要があるのか 疑問に思っています。サービス層には、 と のようなものがUser
ありWebsite
ます。基本的な CRUD 操作を提供します。スペクトルの完全に反対側には、ユーザーが Web サイトの URL を入力できるユーザー インターフェイスがあります。この UI とデータを MongoDB に永続化するアプリケーション (サービス層) の間のどこかで、アプリケーションはこの URL にリクエストを送信してデータを収集する必要があります。データが取得されると、Website
サービスはデータを保持します。
一度に何千もの URL が入力される可能性があるため、負荷の問題が原因で Web サーバーを処理する Node プロセスを停止させたくありません。したがって、作業を別のプロセスに抽象化し、ある種のメッセージング バスを使用してアプリケーションを結び付けるのは良い考えだと思います。