Spring cloud Spring云网关阻止路由描述请求

Spring cloud Spring云网关阻止路由描述请求,spring-cloud,spring-cloud-gateway,Spring Cloud,Spring Cloud Gateway,我正在使用Spring Cloud starter Gateway的Spring Cloud Gateway版本2.1.0。发布版,我需要了解为什么Gateway会阻止执行DiscoveryClientRoutedDefinitionLocator过程的请求 SpringCloud版本:Greenwich.RELEASE 我有两个环境:临时环境和生产环境 在生产中,我们有一个工作网关,用于/exactor/health呼叫,具有以下延迟: 我正在调查为什么在一个简单的健康呼叫中会出现这些峰值,

我正在使用Spring Cloud starter Gateway的Spring Cloud Gateway版本
2.1.0。发布版
,我需要了解为什么Gateway会阻止执行
DiscoveryClientRoutedDefinitionLocator过程的请求

SpringCloud版本:Greenwich.RELEASE

我有两个环境:临时环境和生产环境

在生产中,我们有一个工作网关,用于
/exactor/health
呼叫,具有以下延迟:

我正在调查为什么在一个简单的健康呼叫中会出现这些峰值,我发现网关有时会阻止任何请求(甚至健康或真正的微服务呼叫),以执行我所有微服务的发现路由

我们使用Concur作为discovery server,我尝试在我的登台环境中测试这个延迟(Concur上的硬件资源少得多)。这一块的影响显而易见:

在改进了Concur硬件资源后,我们没有更多的尖峰,但对于健康呼叫来说,延迟仍然不是完美的(并且在发现所有路由时都有较小的尖峰):

我需要问:为什么SpringCloudGateway甚至使用缓存功能来阻止请求?这个进程不应该在后台运行吗?我做错了什么?这真的是SpringCloudGateway的问题吗

谢谢。

如前所述,以前版本的Spring Cloud Gateway使用的是阻塞发现客户端


使用比2.1.5.RELEASE更新的版本将产生一个更异步的网关,它不会执行许多阻塞请求。

网关上是否可能设置了断路器,因此一些对consul do的请求会以超时结束,而hystrix进入“打开”状态状态?我在github中创建了同样的问题,我得到了我期望的答案: