This topic describes how to troubleshoot the HTTP/TCP health check failures of a persistent application instance that is registered with a Microservices Engine (MSE) Nacos instance.
Problem description
When an HTTP/TCP health check is selected for a persistent service provider that is registered with an MSE Nacos instance, the health status of the service provider in the health check result is always unhealthy, but the configuration or status of the service provider is actually normal.
Cause
The MSE Nacos instance is a managed service and is not deployed with applications. For security reasons, the MSE Nacos instance denies TCP/HTTP requests that are sent from the service side to a server at the network layer. The MSE Nacos instance allows TCP/HTTP requests from a server to the Nacos service side. In this case, health check may always fail due to network issues such as timeout.
Solution
Change the service type of the registered service provider to non-persistent. When you register a service provider with an MSE Nacos instance, set ephemeral
to true
. You can also remove the setting of ephemeral
. The default value of ephemeral
is true
.