v0.9.0
Features:
-
Proxy can perform healthchecks against the backends:
- When using static backends, each backend can perform a slightly different healthcheck just in case you have different backends.
- When using DNS for backends discovery, all the healthchecks are performed in the same way, assuming they are all equal
-
Healthchecks are used to drop or add servers to the hashring: Previously, when a server was not available, the strategy was simply to try the next ones in the hashring, in order, and send requests again to the due backend when it comes online. This mechanism is consistent and enforce availability, but when a server is offline, the latency of that portion of requests is impacted during the whole outage, due to intermediate trials.
Now, when the healthchecks are configured, servers are added and removed from the hashring automatically, so the offline servers will not be tried. During the hashring updates, the list of the servers can be out of date, so the consistent trial strategy will cover those moments. This way it's possible to avoid impact in latency
Choose between this mechanism or the full-consistent-selection one for your use case
Contributors:
@achetronic @sebastocorp