PCであれば、だいたいのブラウザが対応していると聞きますが、モバイルはどうなんでしょうか?
A、B、Cというサーバをラウンドロビンで動かした時に、Bが死んだとします。
その場合、PCはBに行かなくなると思いますが、携帯の場合はどうなんでしょうか?
携帯はキャリアのプロキシ?か何かを通っていそうなので、ちゃんと動くのかが気になります。
また、ラウンドロビンの弱点は何ですか?
今のところ気づいているのは、単に振り分けるだけだから1台に負荷が集中するかもしれないことくらいしかないです。
モバイルのIPアドレスは各キャリアによって定められています。
これは各キャリアのサイト等で確認できます。
この定められたIPアドレスをDNSのZONEファイルに書き込む事で、正常に動作します。
ですので、ABCの内Bが死んだ場合、キャリアからの接続も不可になります。
DNSラウンドロビンは、単に用意されたサーバに接続を振り分ける(クライアントへ応答する)事ではありません。
ABCと3つのサーバを用意したとします。
1つのドメインに対してこの3つのサーバをDNSラウンドロビンで設定します。
また、設定の際に優先度(プライオリティ)を設定します。
すると、そのドメインに対して要求があった場合、サーバは優先度の順番通りに応答をします。
(A→B→C→A→B...)
PCであれば、だいたいのブラウザが対応していると聞きますが、モバイルはどうなんでしょうか?
キャリア側のゲートウェイサーバーで対応しているので、大抵は問題ない。
PCはBに行かなくなると思いますが
この認識がそもそも間違い。
PCの場合でもBに問い合わせを行うことはある。
その上で「Bにつながらなかったら他のサーバーを選択する」機能をアプリで持っていることが多いだけ。
実際にBにアクセスすることになった場合、通常よりアクセスまで時間がかかる。
また、ラウンドロビンの弱点は何ですか?
どんぴしゃで知りたい情報ありがとうございます!
>PCはBに行かなくなると思いますが
この認識がまず間違っています。
DNSラウンドロビンは障害対策にはなりませんよ。
例えば2つのIPのラウンドロビンであれば、ブラウザは2分の一の確率で接続エラーになるはずです。
ちなみに携帯の場合でもゲートウェイでDNSラウンドロビンは行ってくれます。
DNSラウンドロビンの弱点
・Vistaではラウンドロビンが効きません…。小さい方のIPに振られてしまうという問題があります。これはWindows7でも直っていません。
Vista,Windows7の話は知りませんでした。参考になります。
DNSラウンドロビンを仕掛ける場合、落ちたサーバを自動的に外せるように
動的にDNSを更新する仕組みを作っておくのがいいでしょうね。
TTLは十分に短くし、障害検知したらDNSレコード更新(ラウンドロビンから外す)、を自動化しましょう。
面倒な場合はロードバランサーを購入しましょう。
ありがとうございます