MySQL DB を使用する Web サイトを構築しようとしています。私がやろうとしているのは、データベースが 2 つのサーバーからアクセスされるようにすることです。つまり、サーバー 1 がダウンしても、サーバー 2 は同じデータベースにアクセスでき、ウェブサイトは正常に動作し続けます。マルチマスター レプリケーションについて読んだことがありますが、必要なものではないようです。また、マスター スレーブ レプリケーションを使用していて、マスター サーバーがダウンした場合はどうなりますか? どのように復元できますか?ご協力いただきありがとうございます。
1 に答える
マスタースレーブパターンはまさにあなたが探しているものだと思います. マスターはすべての書き込みを処理し、スレーブはすべての読み取りを処理します。Rackspace や AWS などでクラウド ホスティングを行っている場合、各モードでのデータ レプリケーションの設定が非常に簡単になります。マスターがダウンした場合に何が起こるかについての最後のサブ質問については、そのためのフォールバックを設定することも非常に簡単だと思います. いくつかのアプローチがある可能性がありますが、最も基本的なレベルでは、他のインスタンスと同じように (フォールバック アルゴリズムを使用して) 複数の db ノードをセットアップできることがわかっています。
最後の注意...これを初めて行う場合は、Rackspace を強くお勧めします。サポートが素晴らしく、すべてのオプションを説明し始めると多大な努力を払い、最適な戦略を選択するのに役立つからです。
Ps: 質問を読み直すと、何を達成しようとしているのかが少し不明確です。1 つの DB にアクセスする 2 つのサーバーに言及し、複数の db インスタンスの冗長セットアップについても話します。それらは実際には 2 つの別個の問題です。前者は、いつでも複数のサーバーを db に向けることができるので、簡単です。資格情報が正しい限り、機能します。しかし、注意が必要なのは、データを適切に同期し続けることです。両方が同じテーブルの読み取りと書き込みを行っている場合、物事はうまくいきます。そこで、マスター スレーブ パターンの出番です。すべての書き込みはマスターを経由しますが、データが複製されるため、誰でも任意のスレーブから読み取ることができます。