com.netflix.client.ClientException Load balancer does not have available server for client及服务注册中心代码
com.netflix.client.ClientException Load balancer does not have available server for client及服务注册中心代码
Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client: test-manageShortUrl-service
解决方案:测试环境的eureka服务注册中心 重启解决问题。
短链服务,注册中心提示不可用。将Eureka注册中心重启解决。
##重启命令:
pwd
./startup.sh (bin目录)
##查看是否网络通
telnet ip 端口号
根据eureka服务注册中心的端口号查找日志目录
ps -ef | grep "1246"
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
1.检查网络:确保网络没有问题,客户端可以访问服务注册中心和服务实例。
2.查看日志:查看服务注册中心、服务提供者以及客户端的日志,看是否有更详细的错误信息可以帮助定位问题。
3.重启服务:有时候重启服务注册中心、服务提供者或者客户端可以解决问题。
4.检查配置:检查客户端和服务端的配置文件,确认服务名称、端口等设置正确无误。
eureka配置 - Apollo 项目微服务配置
eureka.client.fetchRegistry = true
eureka.client.serviceUrl.defaultZone = http://xxx:1246/eureka/ (配置集群中的一个地址即可)
eureka.instance.prefer-ip-address = true
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds = 5000
ribbon.ReadTimeout = 5000
ribbon.ConnectTimeout = 5000
----------------------------- eureka服务注册中心 代码 -----------------------------
eurekaServer Apollo
server.port = 1246
spring.application.name = eurekaServer
eureka.server.enableSelfPreservation = false
## 主动失效检测间隔,配置成5秒
eureka.server.evictionIntervalTimerInMs = 5000
## 禁用readOnlyCacheMap
eureka.server.useReadOnlyResponseCache = false
eureka.instance.prefer-ip-address = true
eureka.instance.hostname = ${spring.cloud.client.ipAddress}
eureka.instance.instance-id = ${spring.cloud.client.ipAddress}:${server.port}
## 心跳间隔,5秒
eureka.instance.leaseRenewalIntervalInSeconds = 5
## 没有心跳的淘汰时间,10秒
eureka.instance.leaseExpirationDurationInSeconds = 10
eureka.client.serviceUrl.defaultZone = http://xxx:1246/eureka,http://xxx2:1246/eureka,http://xxx3:1246/eureka 集群地址
#服务注册中心 启动类
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.support.SpringBootServletInitializer; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaClient @EnableEurekaServer @SpringBootApplication public class EurekaServerApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(new Class[] { EurekaServerApplication.class }); } }
浙公网安备 33010602011771号