On Sat, Oct 27, 2018 at 01:52:29PM +0200, Aleksandar Lazic wrote:
> > Right now, if you want to use load feedback for weights, you either need
> > something entirely out-of-band from the servers back to HAProxy, or you
> > have to use the agent-check option and run a separate health agent.
> 
> With that you mean "external-check command" ?
> 
> https://cbonte.github.io/haproxy-dconv/1.8/configuration.html#external-check%20command
No, I mean 'agent-check' per
https://cbonte.github.io/haproxy-dconv/1.8/configuration.html#5.2-agent-check

This is an agent that runs on the realserver, not the load balancer.

...
> > I would like to propose a new http-agent-check option, with two usage
> > modes.
> > 1. health-check mode: this connects like the existing agent-check, but
> >    sends does HTTP request & response rather than pure TCP.
> > 
> > 2. inline mode: if the server has best-case knowledge about it's status,
> >    and HTTP headers are used for the feedback information, then it
> >    should be possible to include the feedback in an HTTP response header
> >    as part of normal queries. The header processing would detect & feed
> >    the data into the health system during normal traffic.
> 
> Interesting Ideas.
> Are there any LB's out there which already uses this concept?
I haven't looked specifically, but I am aware of a lot of other
dynamic-realserver weight work (mostly in the keepalived/ipvs world,
like feedbackd and lvs-kiss from the early 2000's).

The inline mode is probably deserving of seperate work, I think it might be 
possible
to implement it with the existing Lua codebase.

> > Question: where & how should the feedback information be encoded in the
> > response? 
> > 1. HTTP payload
> > 2. Single HTTP header
> > 3. Multiple HTTP headers
> 
> I would like to have it in the one header per value 'Server-State-*' as the X-
> Prefix is Deprecated.
> 
> https://tools.ietf.org/html/rfc6648
> Deprecating the "X-" Prefix and Similar Constructs in Application Protocols
> 
> for example:
> Server-State-Load
> Server-State-Users
> Server-State-Health
> Server-State-...
Multiple headers easier to write new parsers for I agree, but supporting
the other variants might be worthwhile.

I'm thinking to maybe implement my lua-check first, then write a simple
HTTP checker within Lua.

-- 
Robin Hugh Johnson
E-Mail     : robb...@orbis-terrarum.net
Home Page  : http://www.orbis-terrarum.net/?l=people.robbat2
GnuPG FP   : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85

Attachment: signature.asc
Description: Digital signature

Reply via email to