人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQLの負荷分散に関する質問です。

1台のmasterと複数台のslaveにレプリケーションさせているシステムがあるとします。
1台のmasterの後ろにはバックアップ機が待機し、データを同期しているとします。

運用時、シングルポイントであるmasterの負荷分散とダウンタイムの圧縮のために

・masterを何らかの形(ユーザidごとなど)で分割し、複数台運用にする
・masterに障害発生時、できるだけ短い時間で(できれば自動的に)現行masterをサービスアウト、バックアップ機をサービスインする

ということを考えています。
上記のような構成を実現するためのTipsや方法論、あるいはそれらが書かれたURLを教えてください。日本語、英語は問いません。
(すでにそうしたことを実施されていた方の体験談や切り替えスクリプトなどがあればうれしいです)


また、上記以外で、レプリケーションの仕組みを使いつつ、master側の可用性を高めるための方法論をご存じでしたら教えてください。



●質問者: biz_tanaka
●カテゴリ:コンピュータ インターネット
✍キーワード:MySQL TIPS URL サービス システム
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ffmpeg
●35ポイント

このあたり

http://journal.mycom.co.jp/articles/2007/02/27/smpng/001.html

http://q.hatena.ne.jp/1188460962

◎質問者からの返答

回答ありがとうございました。

んー、ちょっと求めていた内容とは違いましたが、pgtoolの考え方そのものは役に立つかもしれませんね。


2 ● lunlumo
●35ポイント

詳しくは無いのですが,振り分けはリバースプロクシで,可用性に関してはクラスタを組むかレプリケーションと監視サーバを組み合せる形になるでしょうか。

・MySQLクラスタ

http://www-jp.mysql.com/products/database/cluster/

・はてなのアーキテクチャ

http://blog.livedoor.jp/techblog/archives/64698834.html

http://d.hatena.ne.jp/naoya/20060901/1157109663

書籍だと,少し古いですが,Web+DB Press vol.33にLivedoorの例が紹介されています。この記事ではO/Rマッパで振り分けが行われています。

ISBN:9784774128108

◎質問者からの返答

nowa での構造について改めて目を通してみると、やはりレプリケーションシステムにおいての最もよい選択は、

・master&slaveの単位をできるだけ小さくし、それを並列に並べる

・master&slave単位でのスタンバイマシンを用意しておく

・masterの振り分けはアプリケーション側で自作

ということになりそうですね。

masterへの振り分けをカバーしてくれるフリー系ツールはあまり見かけないので、これはがんばって作るしかなさそう。

そうでなければ、本格的にMySQLクラスタの導入を検討してみる必要がありそうですね。

Web+DB Pressの件、ありがとうございました。

とりよせて調べてみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ