SpringCloud网关gateway超时排查

1.问题起因

如图所示,运营人员反馈线上偶发性出现异常,然后我们获取一笔单来看,发现网关超时。

 2.问题排查

系统用的是SpringCloud网关gateway作为服务转发。出现超时的IP和项目部署服务器的IP并不是同一个IP,假设上面异常 10.10.10.11,而项目部署服务器的IP 10.20.10.11,明显不一致导致,和预想的部署方案不一样。同时还是偶发性的报错。然后我登录到zookeeper查看,具体操作:

①登录zookeeper

 ./zookeeper/bin/zkCli.sh 

②执行get命令查看服务注册的情况

get /services/****/e1b6b0b7-d724-4418-8aea-3d85ea01ee50

如图,看到address,其实就上述超时时异常的IP的字段,对于系统而言,默认是主机名。

 3.问题解决

知道原因后,这边马上去修改服务的配置,添加以下配置,问题就解决了。添加配置后,可以执行2的操作,就可以看到注册的address是大家想要的了。


spring.cloud.inetutils.preferredNetworks[0]=10.10.30.*  //SpringCloud注入注册中心选择的网卡
spring.cloud.zookeeper.discovery.prefer-ip-address=true //使用IP作为注册中心address而不是主机名(默认是主机名称);

最后关于上述问题,是因为SpringCloud网关gateway选择网卡的时候,如果配置没有指定IP,是会在选出来众多的网卡中选择第一个网卡作为zookeeper的address注册网卡,然后可以结合上面两配置涉及的SpringCloud网关gateway源码分析进行思考,可以看下这篇文章:https://blog.csdn.net/taipoucha5799/article/details/107917428

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值