Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
MySQL Proxyがおもしろそう - spiritlooseのはてなダイアリー
[go: Go Back, main page]

MySQL Proxyがおもしろそう


http://forge.mysql.com/wiki/MySQL_Proxy


ほー・・・なかなかおもしろそう。

mod_proxy_balancer and mod_rewrite for MySQLみたいなかんじかなぁ。
といっても、tritonn みたいに MySQL に組み込むんじゃなくって、別プロダクトのサーバ。

  • load balancing
  • fail over

あたりが mod_proxy_balancer っぽくて

  • Query interception
  • Query rewriting
  • Injecting queries

あたりが mod_rewrite っぽい。


mod_rewrite みたいに挙動を選ぶ(PとかRとかPTとか)んじゃなくて、コアの挙動はなくて、全部 RewriteMap prg:/path/to/script みたいなイメージっぽい。

「--proxy-lua-script=/path/to/hogehoge」でLuaで書かれたコードが実行されると。


サンプルをちょっとみてみたけど、http://forge.mysql.com/snippets/view.php?id=76 みたいなかんじでおもしろそう。

例えばログ系のテーブルで、INSERTはマスタの年月つきのテーブルにアクセスさせて、SELECTはSLAVEのMERGEテーブルにアクセスさせたりとか、WHERE句をみてサーバ振り分けるマネージャみたいにしたりとかおもしろいのかも(できるのかわからないけど)。


あとは、MySQL Proxy 自体がスケールするようになってるとすばらしいなぁ。
これを2台並べて前にLVSとかで作ったL4ロードバランサ置くとか本末転倒だし(それならLVS+keepalivedでいいわけで)、この辺は今後に期待。



気が向いたらXenの上のテストサーバにでもいれてみるかも。

で、今のところソースも小さいので、暇があったらみてみるかも。