I have a reverse proxy set up in front of some RESTful web services.
I'm using mod_proxy_balancer, not to actually balance load, but to
provide for failover. The config for a given service looks like this:
<Proxy balancer://service>
BalancerMember http://host1:8080/service
BalancerMember http://host2:8080/service status=+H
BalancerMember http://host3:8080/service status=+H
BalancerMember http://host4:8080/service status=+H
</Proxy>
So the idea is that host1 handles all requests, then if it fails host2
takes over, etc. (Four servers may seem like overkill in a failover
situation, but the goal was to enable failover both within and between
our two data centers; we could easily lose access to two servers at
once.)
What I'm seeing when host1 goes down is not what I expected, however.
GETs continue to succeed, but every Nth PUT or POST or DELETE to the
service fails with a 500 error. This is what I see in the logs:
[Fri Nov 05 14:11:33 2010] [error] (111)Connection refused: proxy:
HTTP: attempt to connect to host1.local:8080 (10.98.76.101) failed
[Fri Nov 05 14:11:33 2010] [error] ap_proxy_connect_backend disabling
worker for (10.98.76.101)
Is this expected behavior? Does the balancer not retry requests with
bodies after failing a worker? Am I missing some flags? Is something
else going on?
Any tips appreciated.
Thanks!
--
Mark J. Reed <markjreed@gmail.com>
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org