When upgrading the applications behind haproxy I’ve been putting the specific backend into maintenance mode in haproxy, then upgrading the application and finally bringing up the backend in haproxy.
This is a bit cumbersome in our configuration management environment and it would be easier to just take the application server down and allow haproxy to fail over that backend. If haproxy checks backends every 15 seconds, will:
- some requests keep going to the dead backend for up to 15 seconds?
- haproxy notice the dead backend on the first request and mark it offline, but still lose that one request.
- haproxy notice the dead backend on the first request and mark it offline, and reroute that request to a good backend
If the answer is (3) and we lose no traffic at all, then we can do away with the cumbersome process of marking the backend as in maintenance.
Jetty powered application server
HTTP passthrough with SSL offloading on haproxy