Hi, first thanks for some great software.
I am having an issue with consul health checks not working as expected when more than one service is registered with the same urlprefix.
If I have one service registered on for example: urlprefix=/microservice1, and the HTTP health check in consul is returning a successful result I get a new route added which has 100% weight, this is correct.
Then I add on a new host another urlprefix=/microservice1 service, then I check fabio routes, and I see it has now 2 routes, 50% going to the first host, 50% going to the second, that is expected.
However, when a HTTP health check fails for the first host and is critical, the route for the failing host is not removed. Only when both HTTP health checks fail on both servers are both routes removed. This is not expected.
You can see in the logs that fabio tries to route to the host, but it fails, and yet the attached healthcheck is critical, and it is still routing :(
2016/03/30 13:27:10 http: proxy error: dial tcp 10.90.34.115:39775: connection refused
2016/03/30 13:27:11 http: proxy error: dial tcp 10.90.34.115:39775: connection refused
It is as if the healthchecks are linked to both hosts somehow, maybe we have implemented it wrong?
Hi, first thanks for some great software.
I am having an issue with consul health checks not working as expected when more than one service is registered with the same urlprefix.
If I have one service registered on for example: urlprefix=/microservice1, and the HTTP health check in consul is returning a successful result I get a new route added which has 100% weight, this is correct.
Then I add on a new host another urlprefix=/microservice1 service, then I check fabio routes, and I see it has now 2 routes, 50% going to the first host, 50% going to the second, that is expected.
However, when a HTTP health check fails for the first host and is critical, the route for the failing host is not removed. Only when both HTTP health checks fail on both servers are both routes removed. This is not expected.
You can see in the logs that fabio tries to route to the host, but it fails, and yet the attached healthcheck is critical, and it is still routing :(
2016/03/30 13:27:10 http: proxy error: dial tcp 10.90.34.115:39775: connection refused
2016/03/30 13:27:11 http: proxy error: dial tcp 10.90.34.115:39775: connection refused
It is as if the healthchecks are linked to both hosts somehow, maybe we have implemented it wrong?