I have memcached cluster with couchbase. For balancing using HAProxy. But have problem with check health.
For check is good following request:
curl -v http://10.0.110.1:8091/pools/default/buckets/default/nodes/10.0.110.1%3A8091/stats
Response is 200 or 404.
In HAProxy:
option httpchk GET /pools/default/buckets/default/nodes/10.0.110.1%3A8091/stats
server memcached1 10.0.110.1:11211 check inter 3s port 8091
server memcached2 10.0.110.2:11211 check inter 3s port 8091
server memcached3 10.0.110.3:11211 check inter 3s port 8091
Problem with "/pools/default/buckets/default/nodes/10.0.110.1%3A8091/stats". How add variable IP of hosts.
Maybe use a variable "dst". But did not work for me:
option httpchk GET /pools/default/buckets/default/nodes/%25%5Bdst%5D%3A8091/stats
Please help me with this issue.
Why not just install Couchbase's Moxi (memcached proxy) on each application server node pointed at Couchbase buckets? Then you get all of the HA features of Couchbase, but do not need to modify your application code? And no need for HAProxy either. Moxi will on your behalf use the power of Couchbase's sharding to distribute the data evenly too.