Hi Malcolm,

On Mon, Dec 17, 2012 at 05:38:11PM +0000, Malcolm Turnbull wrote:
> Thomas,
> 
> Simon Horms is working on some patches for us that will allow HAProxy
> to poll an agent on each real server.
> We also have a Windows Service that works with it:
> http://www.loadbalancer.org/download/agent/Windows/LBCPUMonInstallation.msi
> I'm sure he will post it to the list when he is done in the next few weeks:
> 
> HA-Proxy Dynamic Health Check Implementation
> 1. Goal
> Design and implement dynamic health checks for HA-Proxy.
> The health check should be performed by opening a TCP socket to a
> pre-defined port and
> reading an ascii string. The string should have one of the following forms:
> i. An ascii representation of positive integer with a maximum value of 256.
> e.g: ???42???.
> ??? This represents an absolute weight. A weight of 0 will be translated to 1.

Why translate 0 to 1 ? I think it should be simpler to use zero as the
"drain" value, people are already used to say that "weight 0" means the
server is in soft stop mode.

BTW I remind some discussions with a customer a few years ago on this
subject where we realized that advertising absolute weights was not
that great of an idea after all, because it removes any form of control
on the load balancer and is incompatible with slowstart or the cli's
"set weight" command. In practice I'm not sure whether people will
use this, they'll probably better use the percentage weight.

> ??? Values in this format other than 0 are ignored when slowstart is in
> effect, in keeping
> with the behaviour of the set weight command.
> ii. An ascii representation of an positive integer percentage.
> e.g. ???75%???
> ??? Values in this format will set the weight proportional to the
> initial weight of a server as configured when haproxy starts.

Does this support value "0%" then ? It would be useful to support
values larger than 100% too and that haproxy will have to cap to
the absolute value 256. I think the CLI does not accept them right
now, but this is useful with VMs because when all your servers are
running at 100% by default, you sometimes want to increase the load
on one of them when you migrate to a larger VM.

> iii. The string ???drain???.
> ??? This will cause the weight of a server to be set to 0, and thus it
> will not accept any
> new connections other than those that are accepted via persistence.
> iv. The string ???disable???.
> ??? Put the server into maintenance mode. The server must be re-enabled 
> before any
> further health checks will be performed.
> 2. Deliverables
> i. Patches posted to the appropriate haproxy mailing list.
> ii. A list of patches and implementation overview via email to 
> LoadBalancer.Org

OK, thanks for sharing these specs with us !

Cheers,
Willy


Reply via email to