envoyproxy/envoy

Add support of MYSQL health check

Open

#13.551 geöffnet am 13. Okt. 2020

Auf GitHub ansehen
 (7 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C++ (5.373 Forks)batch import
area/health_checkingarea/mysqlenhancementhelp wanted

Repository-Metriken

Stars
 (27.997 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 8T) (378 gemergte PRs in 30 T)

Beschreibung

Title: Add MYSQL health check

Description: Currently, Envoy seems only support HTTP, TCP and REDIS (as an extension) type of health check when positively checking upstream endpoint's healthiness. In HAProxy, it has built-in mysql-check to perform a simple auth test or mysql handshake packet as the health check approach.

The advantages of having MYSQL health check is to better exclude replicas during DB failover and/or overloaded scenario. TCP health check will be passed as long as the port is opened by mysql, but it won't sufficient to rule out those unready or unhealthy replicas. Outlier ejection seems only work for HTTP traffic and cannot help so much under this case.

Actually, there are some work/proposals of supporting mysql relevant area in the community already, see below. I wonder whether it makes sense for community to consider adding MYSQL health check support as another extension. Hopefully, it is not very controversial.

Happy to discuss more.

[optional Relevant Links:] https://github.com/envoyproxy/envoy/issues/3501 https://github.com/envoyproxy/envoy/pull/3502 https://github.com/envoyproxy/envoy/pull/4975

Contributor Guide