2010年 7月 29日 はてなブックマーク -
タグ: #MySQL
async, semi-sync混在のレプリケーション [要検証] - (ひ)メモ

    *   比較的スペックのよいマシン2台(db-m1, db-m2)で、semi-syncなレプリケーションをする
    * レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプランのように、この2台は相互にsemi-syncなレプリケーションしていて、更新系のクエリはプライマリの方のマシンにだけ来るようにする、のもいいかも。
    * ほどほどのスペックのマシン複数台(db-s1, db-s2, db-s3,…)は、プライマリな方(db-m1)をマスタとして、asyncなレプリケーションをする

    * プライマリマスタdb-m1が死んだら、迷わずsemi-syncしているdb-m2をプライマリマスタに昇格させる
          o 非同期なスレーブのdb-s*はプライマリマスタには昇格させない
    * 非同期スレーブdb-s*が死んだら、生きてるdb-s*のどれかをとめてデータを丸コピーして復旧させる

    * あー、非同期スレーブは別にプライマリマスタにだけぶらさげなくてもいいのかも。
          o プライマリマスタだけに非同期スレーブを6台ぶらさげる、のではなく、
          o プライマリマスタとセカンダリマスタに3台ずつ非同期スレーブをぶらさげる、とか。

    * そもそも、この図みたいにasyncとsemi-syncを混在させられるか試してないので実現可能か不明です><
          o だれか試してみてください!!

async, semi-sync混在のレプリケーション [要検証] - (ひ)メモ

* 比較的スペックのよいマシン2台(db-m1, db-m2)で、semi-syncなレプリケーションをする
* レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプランのように、この2台は相互にsemi-syncなレプリケーションしていて、更新系のクエリはプライマリの方のマシンにだけ来るようにする、のもいいかも。
* ほどほどのスペックのマシン複数台(db-s1, db-s2, db-s3,…)は、プライマリな方(db-m1)をマスタとして、asyncなレプリケーションをする

* プライマリマスタdb-m1が死んだら、迷わずsemi-syncしているdb-m2をプライマリマスタに昇格させる
o 非同期なスレーブのdb-s*はプライマリマスタには昇格させない
* 非同期スレーブdb-s*が死んだら、生きてるdb-s*のどれかをとめてデータを丸コピーして復旧させる

* あー、非同期スレーブは別にプライマリマスタにだけぶらさげなくてもいいのかも。
o プライマリマスタだけに非同期スレーブを6台ぶらさげる、のではなく、
o プライマリマスタとセカンダリマスタに3台ずつ非同期スレーブをぶらさげる、とか。

* そもそも、この図みたいにasyncとsemi-syncを混在させられるか試してないので実現可能か不明です><
o だれか試してみてください!!

1年前 | | 2010年 7月 29日 | このエントリーを含むはてなブックマーク