Why is nothing available when 1 server is down in my cluster?

I have a cluster of 4 servers.

1 server goes down, and it hasn't been failed over yet.

I would assume that only the get() requests that need data from that one server will fail, yes? The server I'm connecting to is up and 2 other servers are up, so 3/4ths of my data is fully intact and should be accessible.

That is what I would assume, but that isn't what is happening. I'm getting failures on every call when any of my 4 servers are down.

I've tried using php's memcache library, ext/memcached, and the couchbase api for php. All fail on every call if any server in the cluster is unavailable.

Is this expected behavior? Is there some way around this other than auto-failover, which takes 30 seconds to go into affect?

1 Answer

« Back to question.

Sorry everyone. It looks like what I wrote is not true. I just wasn't doing good exception handling, and the code was erroring out before it got to try the rest of my calls.

The calls DO work for the data on the servers that are available. I just need to handle errors better for when one of the servers isn't available, so that the rest of the code can continue.