0

Joel が、サーバーが配置されている 2 つの異なる場所があり、それぞれの場所に 2 つのフロントエンド サーバーと 1 つのバックエンド サーバーがあると言っているのを聞いたのを覚えています。

  1. ホスティング施設の 1 つがダウンした場合、どうすれば他のホスティング施設に切り替えることができますか? (それとも、伝播するのに 24 ~ 72 時間かかる DNS の変更になるだけですか?)

  2. 1 つの SQL Server インスタンスにこれほど多くのデータベースを配置するにはどうすればよいでしょうか? FB には、アカウントごとに完全に別のデータベースがあります。単一の SQL Server インスタンスに 200 ~ 250 以上のデータベースがあるとは思えません。そして、彼らにはそれよりも多くの顧客がいると確信しています。

4

2 に答える 2

1

彼らはこれについてStackOverflowポッドキャストの1つで話しましたが、トランスクリプトでは見つかりません。

1)2つのセンターのそれぞれが、ユーザーの約1/2を処理します。かなり頻繁に(毎時、ジョエルが言ったと思います)、トランザクションログを他のサイトに送信します。サイトAがダウンした場合、サイトBでdbバックアップを起動し、DNSスイッチオーバーを実行します。瞬時に自動化されることも、自動化されることもありません。わずかに古いデータが発生するため、壊れたサイトを元に戻すことができれば、それを避けたいと考えています。

DNSの状況をどのように処理するかはわかりませんが、DNSレコードのTTLをほんの数秒に設定してキャッシュを制限し、フェイルオーバーを非常に迅速に発生させることができます。

2)どうして?インスタンスごとのデータベースのハード制限についてはわかりませんが、ボックスでSQLServerの複数のインスタンスを実行することを妨げるものは何もありません。ソフトウェアよりもハードウェアの方が制限されていると思います。(MySQLデータベースバックエンドでFogbugzを実行することもできます)。

于 2008-10-28T13:38:04.667 に答える