2016-09-13 10 views
0

私は現在、MySQLインスタンスをホストしている専用のマシンが1台あります。私はマスター/スレーブレプリケーションのセットアップに移行しています。私はテストマスターとスレーブを通常のチュートリアルのように設定しています。うまくいきます。 しかし、私のアプリケーションは、ロードバランサと自動スケーリングなどを使用してAWS上で実行されます。 新しいインスタンスが追加され、削除されます。これらのそれぞれは、読み込み用のローカルMySQLインスタンスを持ちます。 my.cnfの "server-id"を自動割り当てするように設定できますか?ダイナミックにサイジングするスレーブノードのセットを使って、どうすればいいでしょうか?MySQLマスター/スレーブ - 自動サーバーID

おかげ

+0

_databases_の動的サイジングは、発生するのを待っている災害のように聞こえる。マスターノードも成長しなければなりません。したがって、簡単に自動化することはできません。 –

+0

負荷分散されたスタック上で実行されるMySQLバックアップアプリケーションをスケールアウトする最良の方法は何でしょうか?たとえば、CRUD操作がたくさんあるRESTfulなWebサービスと言えますか?私はマスター/スレーブのアイデアと結婚していない - 私はちょうどそれが金型に合うと仮定した。 – fatlog

+0

ああ、「スケールアウト」はあなたを指していますか?より多くのデータ?それ以上の活動? –

答えて

1

あなたは自動スケーリングを使用しているとき、あなたは自動スケーリングされたインスタンスを離れてあなたのデータベースを移動する必要があります。各自動スケーリングされたインスタンスには、独自のデータベースのコピーがあるべきではありません。

は、代わりに:

  1. は、自動スケーリンググループの一部ではありませんmasterデータベースを持っています。
  2. 読み込み中にデータベースへの負荷を軽減するための0以上の読み取りレプリカ
  3. 自動スケーリンググループの一部であるEC2インスタンスでは、必要に応じて自動スケールされていないデータベースノードを参照していますか?

このように、EC2インスタンスのスケールアップ/ダウン/イン/アウトのように、データベースはそれらのインスタンスから分離されたままです。

+0

ありがとうございました。私は一種の中途半端な家に行くつもりだった。単一の専用マスタインスタンス(自動スケールグループではない)と各自動スケーリングノードは、より高速な読み取りのためにローカルスレーブコピーを持ちます。しかし、これは行く方法ではないようです。 0以上の読み取り - 複製があった場合、どのように負荷を分散するのでしょうか?ありがとう! – fatlog

+0

読み取り接続をラウンドロビンします。実際、MySqlコネクタの中には、自動読み取りレプリカのバランシング(クライアント側で実行)があります。 –

+0

私はAmazon RDSを使い、この応答で提案されているRead-Replica機能を使用しました – fatlog

関連する問題