Meteor のバランス調整オプションを検討しています。この記事は非常にクールに見え、Meteor の負荷を分散するために以下をサポートする必要があると書かれています。
- モンゴオプテーリング。そうしないと、10 秒ごとに DB のポーリングと差分を行うポーリング Mongo ドライバーが使用されるため、Meteor の 1 つのインスタンスが別のインスタンスから更新を取得するのに最大 10 秒かかる場合があります。
- ウェブソケット。これも明らかです。そうしないと、クライアントは HTTP とロング ポーリングにフォールバックしますが、これは機能しますが、Websocket ほどクールではありません。
- 「SockJS に必要なスティッキー セッション」。ここで質問が来ます:
私が理解したように、「スティッキー セッション サポート」は、セッション中に 1 つのクライアントを同じサーバーに割り当てるものです。それは不可欠ですか?スティッキー セッションをまったく構成しないとどうなりますか?
これが私が自分で思いついたものです:
- Meteor はクライアントに送信されたすべてのデータをメモリに格納するため、クライアントが X サーバーに接続すると、X 倍のメモリが消費されます。
- たとえば、異なるタブやウィンドウで、同じユーザーに対してマイナーな (または oplog がない場合はメジャーな) 遅延が発生することがありますが、これは驚くべきことです。
- SockJS が再接続し、再接続後も一部のデータを維持したい場合、うまくいきません。SockJS の仕組みがよくわからないのですが、この点は有効ですか?
どんな悪いことが起こりますか?これらの 3 つのポイントはそれほど悪くはありません。データは有効であり、利用可能であり、追加のメモリ消費が発生する可能性があります。