The following future potential feature would help me use haproxy more for an 
upcoming project.  I apologize if this is already addressed through existing 
features or not considered generally useful.

Implement new type of health checks, call them "configuration checks".  A 
configuration check would operate just like HTTP health checks except that 
purpose of the request is to allow a backend server to reconfigure how HAProxy 
perceives and utilizes the server by returning special text responses.  Dynamic 
configuration changes supported could include:

1.  Setting new interval time for subsequent configuration checks to the server.
2.  Setting new maxconn or weight for the server (allowing backend to 
"throttle" or "increase" load for itself).
3.  Setting server state (DOWN, MAINTENANCE, UP, STARTING, STOPPING, DAMAGED) 
changing how HAProxy treats existing connections or new connections for the 
server.
4.  Change server from active to backup (or vice versa).
4.  Adding new server to backend by having configuration check return new 
server configuration.
5.  Changing any other useful settings that affect backend servers.

It would be nice if HAProxy provided a complete set of configuration data 
(including performance data) for all servers in the backend as an option for 
the configuration request (so, decisions can be made in the backend like 
downing itself because the server has the lowest load and the other servers 
have lots of spare capacity).

I believe these changes will really help deployments to the cloud.  And, it 
doesn't rely on having a separate management console which might crash or be 
unable to connect to one or more servers due to networking issues.  The backend 
servers can be responsible for managing themselves.


Reply via email to