Hi Willy.

Am 26-12-2019 06:44, schrieb Willy Tarreau:
Hi Aleks,

On Tue, Dec 24, 2019 at 10:29:44AM +0100, Aleksandar Lazic wrote:
I have created a feautre request for the check rewrite as we have more and
more requests for checks which are quite difficult to setup.


Thanks for this. We definitely need to rework them for 2.2. At minima,
what I'd like to see, in order of realization:

- rewrite *all* health checks to internally use tcp-check sequences only so that we don't have to maintain this horribly broken mess anymore and
    can more easily implement new ones ;

Well, I think we will need also udp-check for example for DNS, QUIC and some
other protocols.

- implement a new htx check mechanism that uses the muxes and that will be
    able to seamlessly deal with H1/H2/FCGI, and likely plug onto idle
connections; these ones will need to support adding headers and probably
    do more;

Full Ack.

- implement centralized check definitions that can be reused in multiple backends. E.g. tcp-checks sequences or htx check sequences should only be defined once. This implies that some of the headers will likely need to support variables so that a backend may defined a host header for
    example and the checks use it.

But we have already such a possibility IMHO, it's the named defaults section,
isn't it.

If we can do all this it will be great.

Note that in your example above you're using %[host] for example, though the log-format syntax is only valid for traffic being processed, but I do get the idea anyway. For me it's the same principle as having variables or
check parameters defined in the backend (or maybe even per server).

Yes, the log-format syntax was used to show that in some way a rewrite from some
variables will be necessary.

It would be nice to be able to reuse the feature (tcp|http)-(request|response)
for the checks.

And you know there will be some distributed setups where the status from a backend should be shared with different haproxy instances, maybe via peers protocol, this
will be maybe only possible in the commercial version ;-).



Reply via email to