经过zuul首次访问后面的微服务接口很慢的问题
来源:6-7 jwt改造总结
小葱与奥特曼
2020-11-22
jojo老师,您好!
问题1:
我在zuul+k8s整合的时候,弃用了Eureka,使用的k8s的负载均衡;
遇到一个问题,zuul经常会出现懒加载问题,(即一段时间不访问,第一次查询就会出现慢查询5s,但是第二次以后就是正常几十ms了),尝试想改成饥饿查询,发现饥饿模式只是针对eureka的ribbon
zuul的配置
zuul:
ribbon:
eager-load:
enabled: true
微服务也有同样的问题,与k8s整合,如果使用feign的方式调用,如下配置也会有超时直接熔断的情况出现,
提示com.netflix.hystrix.exception.HystrixTimeoutException: null,进入了feign的错误回退机制。
ribbon:
eager-load:
enabled: true
clients: user-service
zuul调用微服务、微服务之间的调用,在使用feign的时候,
用的是k8s的service-name,service-name,这些服务名又没有被注册到zuul的ribbon上下文(微服务之间的调用也是)
该如何解决这个懒加载问题?
问题2:
如果zuul该问题解决不了,是不是我该考虑使用Spring cloud gateway来做网关,Spring cloud gateway是不是没有该问题?
问题3:
用上k8s来做负载均衡了,是不是微服务之间的调用直接使用oAuth2RestTemplate来远程调用接口,从而弃用基于ribbon的feign调用方式?老师您公司是怎么做的,没使用feign?
1回答
-
JoJo
2020-11-30
额...描述的问题我们没碰到过。我们转到k8s以后已经把spring cloud的组件都淘汰了。目前不建议再用zuul,问题比较多。feign不在spring环境下也可以用,我记得可以直接配置调用的域名,而不是从服务发现获取。
00
相似问题