Hi we're evaluating haproxy for use as the load balancer in front of our
mesos cluster.  What we are finding is that even though we have requested
the check option in the server line, haproxy attempts to serve traffic to
the server on startup until the first healthcheck completes.

server slot1 10.40.40.2:7070 check inter 1000 rise 3 fall 3 maxconn 32

This is because we are adding servers to haproxy as they are started in
mesos, but before our backend application itself is ready to serve
connections.  This results in spurious 503's being handed to clients as we
add backends via the admin socket or haproxy restart.  I looked into
possibly forcing a healthcheck during the cfgparse constructors, but that
seems like it would require some significant rearchitecting.

Is there a way to force haproxy to not use a backend until it passes a
healthcheck?  I'm also worried about the side affects this might cause as
requests start to queue up in the haproxy.

Thanks,
Dave

Reply via email to