やあ (´・ω・`)
ようこそ、MySQL Fabricのお墓へ。
このサキーラはサービスだから、まず飲んで落ち着いて欲しい。
うん、「やっぱり」なんだ。済まない。
地獄の沙汰もって言うしね、謝って許してもらおうとも思っていない。
でも、このスレタイを見たとき、君は、きっと言葉では言い表せない
「めきめき」みたいなものを感じてくれたと思う。
殺伐とした世の中で、そういう気持ちを忘れないで欲しい
そう思って、この記事を書いたんだ。 じゃあ、注文を聞こうか。 さて本題。 この記事は MySQL Casual Advent Calendar 2017 の1日目の記事です。 …
mikasafabric for MySQL が何なのかについては こちら
取り敢えずビルド方法のメモ。雑に。
#!/bin/bash
version="0.1.1"
dirname="mikasafabric-${version}"
rm -rf ~/rpmbuild
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
if [ -d ~/$dirname ] ; then
rm -rf ~/$dirname
fi
git clone https://github.com/gmo-media/mikasafabric.git ~/$dirname
cd ~/$dirname
git checkout ${version}
cd $OLDPWD
tar czf ~/rpmbuild/SOURCES/${dirname}.tar.gz $dirname
rpmbuild -bb ~/$dirname/mikasafabric.spec
ビルドにはpython-develとrpm-buildが必要。実際にmikasafabricを動かすにはmysql-connector-pythonが必要。CentOS …
MySQL Fabricでぼっこぼこにされたはなし で考えていた、MySQL
FabricのMySQLプロトコルの口でAPIを叩いて監視しようと思っているはなし。
MySQLプロトコルの口では "CALL" ステートメントをフックして(というか単にクエリーを正規表現でマッチさせて) MySQL
Fabricの各種APIを呼べるようになっている。
=> 日々の覚書: MySQL
Fabricつらい(Fabricサーバー上のMySQLプロトコルの口でFabricのAPIが呼べる編)
ので、これを使うことにする。叩くAPIはたぶんこの辺。
mysqlfabric | mysql | … |
---|
MySQL Fabricには /etc/mysql/fabric.cfg の
[logging]セクションの他にもログを取る部分が仕込まれていて、
mysql> SELECT * FROM fabric.log;[さらに読む]
+---------------------------+----------------------------+------------------------------+-----------------------------------------------------------------------+----------+------+
| subject | reported | reporter | message | category | type |
+---------------------------+----------------------------+------------------------------+-----------------------------------------------------------------------+----------+------+
| 0 | 2016-05-16 06:48:47.000000 | mysql.fabric.services.manage | Fabric node version (1.5.6) started. | 0 | 0 |
| manage.ping | 2016-05-16 …
MySQL FabricにてSharding構成を組んだ環境において、MySQL Routerを利用する場合の設定確認。
Shardingされた環境においても、MySQL
Fabric対応コネクターを利用するとアプリケーションからDBへの接続先はFabric管理サーバーで良い。
但し、MySQL
Fabric対応コネクターを利用する為には既存アプリケーション書き換えなどが必要になり。導入が大変な為なかなか導入に踏み切れない。
MySQL Routerを利用するとアプリケーションの書き換えは殆ど必要無く、単純に接続先をMySQL
Routerに向けるだけで済む為、導入が非常にシンプルになります。
データベースをMySQL FabricにてShardingしていない環境では、MySQL
Routerの導入はアプリケーション側もインフラ側もハードルは高くない。
但し、MySQL …
レプリケーションフレームワークのMySQL Fabricについては、昨年概要をブログに書いたので本日は、
MySQL FabricをMySQL Routerの連携による可用性や柔軟なスケールアウト方法について確認して見ます。
MySQL Fabricは便利なフレームワークですが、Fabric対応コネクターを利用しないと利用出来ず、
アプリケーションの書き換え労力が必要な為、あまりまだ広まっていませんでしたが、
MySQL Routerのリリースにより今後利用されるケースも増えてくるかと思います。
1. 障害発生時にマスターとスレーブ(新マスター)を自動切り替えし、アプリケーション接続変更は必要が無い。
2. …
この記事は MySQL Fabric&Routerつらくない Advent Calendar
2015 の25日目の記事です。
まずはどうやって遅延を計測しようか考えているメモをだだだと書きなぐる。後半にまとめっぽいものを。
計測環境。サーバーもクライアントもc4.xlarge。サーバーはyumリポジトリーで5.7.10を突っ込んで起動しただけ。
# rpm -i http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
# yum install -y mysql-community-server
# service mysqld start
# grep password /var/log/mysqld.log
# mysql -p
mysql> UNINSTALL PLUGIN validate_password;
mysql> CREATE USER yoku0825;
クライアントは接続してSELECT NOW()して切断するだけのもの。
…
この記事は MySQL Fabric&Routerつらくない Advent Calendar 2015
の14日目のエントリーです。
前回の記事で無事にMySQL Fabric Cache Pluginでマスター/スレーブの構成をMySQL
Fabricに管理させつつ、コネクションはMySQL Routerでハンドルさせることができたので、みなさんそろそろ
「MySQL Router つらくない!」
「MySQL Fabirc つらいけど 試してみたい!」
とテンションが上がっているところだと思います。
お願いします、上げてください。
日々の覚書: MySQL Routerつらくない(MySQL
Fabricと組み合わせて使ってみる編)
…
この記事は MySQL Fabric&Routerつらくない Advent Calendar 2015
の10日目のはずだったけれど日付が変わっちゃった残念な記事です(´・ω・`)
$ mysqlfabric --param=protocol.xmlrpc.address=172.17.3.202:32274 group lookup_servers myfabric
Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e
Time-To-Live: 1
server_uuid address status mode weight
------------------------------------ ----------------- --------- ---------- ------
7dbe3da8-9f4f-11e5-ad3e-0242ac1103ce 172.17.3.206:3306 SECONDARY READ_ONLY 1.0
81392c70-9f4f-11e5-ad15-0242ac1103d0 172.17.3.208:3306 SECONDARY READ_ONLY 1.0
84d6578f-9f4f-11e5-ad3b-0242ac1103d2 172.17.3.210:3306 PRIMARY READ_WRITE 1.0
…
この記事は MySQL Casual Advent Calendar
2015 の1日目です。
MySQL Fabric&Routerつらくない Advent Calendar
2015 の1日目でもあります。
さて…昨年あんなにも MySQL Fabric関連のブログ を書いたのに、少なくとも2015/12/1現在、MySQL
Fabricがちっとも流行ってないのは何故だろうとか考えてみました。
- Fabric対応コネクターが必要
- MySQL 5.6以上かつGTIDが必要
- バッキングストア(mysqlfabricデーモンが情報をストアするためのmysqld)を自前で冗長化しないといけない
- ググったら 「MySQL …