HAProxy(1.4)でMySQLの自動フェイルオーバーにあわせて接続先を変更の記事に引き続き、Memcachedも試してみました。
HAProxyの設定ファイル(/etc/haproxy/haproxy.cfg)は下記のようにしています。
global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon stats socket /var/lib/haproxy/stats defaults mode tcp log global retries 3 timeout connect 10s timeout client 1m timeout server 1m listen memcache bind 0.0.0.0:11212 mode tcp balance roundrobin server memcache1 suz-lab-ha1:11211 check port 11211 server memcache2 suz-lab-ha2:11211 check port 11211
上記にて、Memcachedの負荷分散や障害時の切り離しが確認できました。
また、Repcachedを利用すれば、障害時キャッシュのロストも防げると思います。
全てローカルHAProxy経由にするといいのでしょうか。