2011年11月24日木曜日

HAProxy(1.4)でMemcachedの負荷分散(障害時の切り離しも)

スズキです。

こちらのMySQLに引き続き、
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経由にすればいいのか!?
--------
http://www.suz-lab.com

0 コメント: