在linux中部署spring cloud项目遇到的问题
1、Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client: ribbon-provider
这个问题是yml的配置问题,在配置中如果没有加入enabled:true的配置的话在zuul网关转发请求的时候会报上文的这个错
按图添加
eureka: client: registerWithEureka: true fetchRegistry: true serviceUrl: defaultZone: http://地址:端口/eureka/ instance: prefer-ip-address: true # 优先注册IP地址而不是hostname healthcheck: enabled: true # 启用健康检查,注意:需要引用spring boot actuator
2、zuul和eureka转发请求地址的问题,在本机中zuul转发SC-XXX主机的请求就可以,将包部署到服务器上zuul通过注册的主机名称进行转发请求的时候报找不到链接(如下图),这个不太清楚具体原因,但是我们只要在yml中配置一个参数就可以将主机名称设置为ip优先,如上图或下面的配置就可以解决:
instance: prefer-ip-address: true # 优先注册IP地址而不是hostname