複数のRTMPサーバーの負荷分散を試みるために配列を使用しています。PHP配列を無作為化する
$servers = array(
'1.1.1.1',
'2.2.2.2',
);
$edge = $servers[array_rand($settings)];
しかし、このコードはあまり役に立ちません。私はもう一方のサーバー2kで3kで終わります。
私はAPCを利用し、与えられた最後のIPをキャッシュし、ユーザー間のより良いIP配信を追跡することを考えていました。
私は人がip 1.1.1.1を取得したように次はip 2.2.2.2を取得して、3kと2kではなく、より近い範囲のユーザを維持するようにします。
私はMySQLを使用することができましたが、おそらくすべての要求でサーバーを叩くでしょう。
私はipsの適切な配布を達成するための最良の方法は何ですか?
なぜラウンドロビンを配布しないのですか?要求の量のカウンタを保持する%array.length =次のサーバの配列内のインデックスも行きます。 –
ちょうど私が考えていたもの。ディスクへの最後のリクエストを0または1としてキャッシュすることができます。 – billynoah
@billynoahええ、私は最後の試みのようにそれをやっていると思っていましたが、私が望む結果を保証する最善の方法のように思えます。 – Slightz