変更ストリームを広範囲に使用することはできますか? さまざまなパラメーターを持つ多くのドキュメントを含む多くのコレクションを監視したい。アイデアは、複数のユーザーが興味のあるデータを見ることができるようにすることです。たとえば、単一のコレクションからのいくつかの株式データなどのいくつかのリアルタイムの更新を表示するだけでなく、最新の Web アプリケーションを現実のものにすることができます。時間。私はいくつかの議論に出くわしました。たとえば、この機能はそのような目的には使用できないことを示唆しています。
では、一般的に知られているソーシャル ネットワークを実装することを想像してみてください。各ユーザーは、(1) 通知、(2) オンラインの友達、(3) 友達のリクエスト、(4) ニュース フィード、(5) ニュース フィードの投稿に対するコメント (投稿ごとに 1 つですか?) に関するライブ データを取得したいと考えています。これにより、ユーザーごとに少なくとも 5 つのオープン変更ストリームが作成されます。たとえば 10000 人のユーザーがサービスに接続した場合、50000 のアクティブな変更ストリームが作成されます。
このメカニズムはそのような負荷に対応できますか? 私が議論(および他のいくつか)を理解した場合、すべての変更ストリーム ウォッチャーは 1 つの接続を作成します。何万もの接続があっても大丈夫でしょうか? 良いデザインとは思えません。各コレクションを監視し、アプリケーション サーバーでフィルタリングを行う方がよいように思えますが、それはデータベース サーバーの仕事です。
そのような負荷をmongo dbで処理する方法はありますか?