我有一个基于springcloud的微服务系统:zuul、eureka、hystrix、ribbon、feign。
对于身份验证过程,请求链看起来像“网关->身份验证服务->用户服务”。我在第一次请求时遇到了timeoutexception问题,通过更改ribbon的超时属性解决了这个问题。现在一切正常,但仍然不好,因为第一个请求需要2-3秒以上(其他请求需要不到50毫秒)。我设置了eager load属性,但它没有改变任何东西。
application.yml(所有服务通用)的相关部分:
# CLOUD
eureka:
client:
region: default
registryFetchIntervalSeconds: 5
hystrix:
command:
default:
execution:
isolation:
strategy: THREAD
thread:
timeoutInMilliseconds: 20000
ribbon:
eager-load:
enabled: true
clients: gateway, registry, auth-service, user-service, mail-service
ReadTimeout: 5000
ConnectTimeout: 5000
网关配置的一部分:
# GATEWAY
zuul:
ribbon:
eager-load:
enabled: true
典型的服务在今年Spring依赖于hoxton.sr5版本的云。网关还有zuul。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
还有一个重要的注意事项:每个服务都在自己的docker容器中运行。
你知道我做错了什么吗?谢谢!
暂无答案!
目前还没有任何答案,快来回答吧!