DNSに複数のサーバーを入れた運用は通常行われています
下のNslookupでYahooのアドレスを引くと毎回違った
値がでてきます。
ちなみにYahooの場合で6個です。
こうすると1台のサーバーが落ちても完全に繋がらない
事はありません。
ただこれをやるとカート機能等の実装が複雑に成るので
コネクションが確立してからはw1.○○で処理をする
というような形を取った方が良いかもしれません。
Yahoo等の場合フロントエンドが別のサーバーでも
バックエンドは同一のデータベースに接続している
ので特に利用者は意識しませんが、レンタルサーバ
だとおそらく独立して動く形にせざるを得ないと思い
ますからサーバー間の同期に気を遣う必要が有ります。
ありがとうございます
検討中の方法ですと、A社がダウンしたときB社のサーバへ誘導するということは出来ないかと思います。
ご検討中の方法は、以下のように test.com の DNSとして以下の4つのサーバを用意し、WEBサーバとしてA社とB社のサーバのIPアドレスを指定する方法かと思います。
ns1.test.com
-> www.test.com は 111.111.111.111(A社サーバ) という情報を登録
ns2.test.com
-> www.test.com は 111.111.111.111(A社サーバ) という情報を登録
ns3.test.com
-> www.test.com は 222.222.222.222(B社サーバ) という情報を登録
ns4.test.com
-> www.test.com は 222.222.222.222(B社サーバ) という情報を登録
そうしますと、
Test.com Web Based Testing and Certification Software v2.0
にアクセスされようとした方がどっちのサーバにアクセスするかは、WEBサーバがダウンしているしていないに関わらず二分の一です。
ダウンしているかしていないかの判別、またダウンしていたら別のサーバを参照するようにといったことはできません。
また、アクセスされようとした方が過去に
Test.com Web Based Testing and Certification Software v2.0
にアクセスされたことがあり、それがたまたま「111.111.111.111」のサーバであった場合、アクセスされようとした方の参照用DNSサーバにその情報がキャッシュ(保存)されている可能性があります。この場合はサーバのキャッシュ期限が切れるまで、否応がなく「111.111.111.111」に接続することとなります。
kanetetu さんの通り、ロードバランサーなどを導入されることをおすすめしますが、高コストとなるかと思いますので、それだけのコストに見合うものかが導入の鍵になるのではないかと思います。
ありがとうございます。
やはり難しいようですね。
http://ash.jp/env/srv/rounddns.htm
ラウンドロビンDNSの設定
Yahoo!などのとっている手法は「ラウンドロビンDNS」といわれます。負荷分散には有効だと思いますが、デメリットが多いです。また今回のご質問のように耐障害性を高める目的で利用するのはまず無理であると思われます。
ありがとうございます。
1番目はサーバダウン対策がかかれたページです
2番目はDDNSに複数のサーバを登録する手法です
2番の方とほぼ一緒ですが
ちなみに、Yahooは4つだけでなく Alias機能を使って色々なところでサーバーのマルチ化を行っています
例
ホスト名: cs.yahoo.co.jp
IPアドレス: 211.14.14.126
IPアドレス: 211.14.23.46
IPアドレス: 211.14.23.47
IPアドレス: 211.14.13.184
IPアドレス: 211.14.13.185
IPアドレス: 211.14.13.204
http://www.linux.or.jp/JF/JFdocs/Virtual-Services-HOWTO-2.html
Virtual Services Howto: IPエイリアス
ありがとうございます。
ありがとうございます。
効果があるか微妙ですね。