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経由にするといいのでしょうか。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら