1

私たちは、新世代のエンタープライズ規模システム用に Meteor を評価しています。驚くべき組み込み機能の 1 つは、クライアントのすべてのデータ モデルがデータベースのモデルにバインドされ、サーバーが更新されると更新されることです。しかし、私はスケーラビリティについて心配しています。

何百万もの接続ユーザーを無効にするために必要なアーキテクチャは何でしょうか?

基本的な質問は、データベースがサーバーとクライアントのモデルにどのようにバインドされているかということだと思います。さらに推定すると、複数の Web サーバーが実行されていて、データベースが 1 つあるとします。サポートされていますか?もしそうなら、どのように?それを実現した基礎となるテクノロジーを誰かが説明できれば、それは大いに役立つでしょう.

これは、リアクティブ モデルを使用する Web アプリのスケーリングに関する一般的な質問であると思います。まず、それは本当です - そしてそれについての議論も素晴らしいです (それを実装するための最良の設計は何ですか?)。

第二に、特に Meteor の場合、よりモノリシックに見えるため (「すべてがあなたのために行われる」という意味で)、内部を見て (コードベース全体を読むことなく)、決定するのに役立つ可視性を探しています。

どうもありがとう、リオール

4

5 に答える 5

2

Google グループからの David Glasser の回答:

簡単に言えば、Meteor がスケーリングしない場合、プラットフォームで行っている他の作業が無駄になるということです。データベース コネクタの現在の実装は、基本的にデータベース コネクタ コードの原案です。現在は開発に最適に機能しており、大規模な改善にもすぐに機能するようにする予定です。

于 2012-11-16T21:49:40.533 に答える
2

複数の Web サーバーが実行されていて、データベースが 1 つあるとします。サポートされていますか?

はい、新入生に利便性を提供するために (これは新しいプロジェクトにとって重要です)、Meteor はその中に MongoDB サーバーを埋め込みます。「meteor」コマンドを使用して Web サーバーを起動すると、MongoDB サーバーも起動します。ポートは、Web サーバーのポートを追加する 2 つです。開始するのは簡単です。また、この動作を変更する方法を提供します。この質問を参照してください

したがって、複数の Web サーバー間で 1 つのデータベースを共有できます。

2 番目の質問については、ご覧のとおり、Meteor はクールで魔法のようですが、価格があり、すべての魔法の物には価格があり、内部的に多くのことを行い、ブラック ボックスのようなものです。状況によっては、内部で何が起こっているかを知らなければ、これはあなたを夢中にさせるでしょう! したがって、大きな正式なプロジェクトで使用することを考えている場合は注意してください! 特に、ドキュメントが包括的で詳細ではなく、急速に変化しており、開発者が忙しすぎて新しい機能を開発できず、質問に答える時間がない可能性があります...私は内部で流星を使用しています何百万人ものユーザーのための実際のプロジェクトですか? 今は良い考えではないと思います。

于 2012-11-03T11:38:12.187 に答える
1

2015 年 5 月 12 日現在、Meteor mongo コレクションは大規模にうまく機能しています。これは Smart Collections の公式ページからのものです。

于 2015-05-12T23:48:41.303 に答える
1

私はMeteorのスケーリングの問題に取り組んでおり、いくつかの大きな改善を加えることができました.

その核となるのがスマートコレクションです。これは、Meteor 用のまったく新しい mongodb ドライバーの実装です。

また、Smart Collection はMongoDB Oplog ベースのスケーリング サポートを行います。これは、Meteor アプリをスケーリングするのに最適な方法です。

于 2013-08-01T16:01:32.490 に答える
0

より最近の回答を提供したい:

クライアントに最小限のデータを送信することで、サブ/パブリッシュ プロセスを高速化し、不注意によるデータ漏洩を防ぐことができます。これが、クライアントが必要とするフィールドのみを指定することがパブリッシュ機能のベスト プラクティスである理由です。特に、理論的に無限リストを持つ可能性のあるビューの場合は、制限を設定するのが賢明です。クエリの結果セットを制限する場合、通常、クエリも並べ替えられます。したがって、インデックス作成を念頭に置くことは、パフォーマンスにとって重要です。

MongoDB のメモリを増やすこともできます。また、Kadira や Compose などのツールを使用すると、スケーリングにも役立ちます。上記の引用とその他のヒントは、実際の流星アプリのスケーリングに関するこのケース スタディで見つけることができます。

于 2015-06-25T13:13:32.767 に答える