Gateway网关提示Flipping property: system-server.ribbon.ActiveConnectionsLimit to use NEXT property: niws

一、问题描述

自己有一个微服务项目,使用了GateWay进行限流处理;但是最近发现,无论如何,系统都登陆不上去了,出现了问题:

  1. 控制台总是提示Flipping property: system-server.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647;如下图所示:
    在这里插入图片描述2. 登陆界面一直提示系统繁忙:
    在这里插入图片描述
  2. 然而,认证服务却提示登陆成功:
    在这里插入图片描述

二、思考

  1. 考虑到使用了GateWay进行限流处理,以及Nacos进行服务注册与发现,又使用了Feign进行服务调用,现在的问题是:
    认证服务(被调着)响应的结果与服务请求着接受到的结果出现了偏差,因此,我将解决问题的方向定位在了GateWay上面;然后一路摸索,果然发现了端倪:
    仔细看界面的请求时间:
    在这里插入图片描述
    也就是说,登陆认证服务请求了大概10s的时间,然后就取消了;然后我们再来看看网关的限流配置:
# hystrix 信号量隔离,5秒后自动超时
hystrix:
#  enabled: true
#  shareSecurityContext: true
  command:
    default:  # 默认
      execution:
        isolation:
          strategy: SEMAPHORE
          thread:
            timeoutInMilliseconds: 5000
    fallbackCmd:
      execution:
        isolation:
#          strategy: SEMAPHORE
          thread: # 5秒没响应自动熔断 跳转到配置的fallbackUri
            timeoutInMilliseconds: 5000
  1. 问题的关键,就在于timeoutInMilliseconds: 5000这一行配置上面;

三、解决问题

由二我们得知,出现上述问题的主要原因,就是我们的hystrix熔断时间设置得太短了;因此,只要我们将熔断时间设置长一点,这个问题就迎刃而解了:

hystrix:
#  enabled: true
#  shareSecurityContext: true
  command:
    default:  # 默认
      execution:
        isolation:
          strategy: SEMAPHORE
          thread:
            timeoutInMilliseconds: 70000
    fallbackCmd:
      execution:
        isolation:
#          strategy: SEMAPHORE
          thread: # 5秒没响应自动熔断 跳转到配置的fallbackUri
            timeoutInMilliseconds: 70000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值