一、该问题的重现步骤是什么?
1. nacos上配置动态路由,blade-gateway-dev.json。
2. Linux服务器部署Auth、Gateway、System、User、Resource、Log、Desk7个微服务。并且设置用外网IP注册到nacos
3.本地启动自己开发的业务服务,通过NETAPP 将自己开发的功能映射到本地。
二、你期待的结果是什么?实际看到的又是什么?
期待的结果是,通过动态路由配置,可实现服务器和本地的API调用切换。
实际看到的是:
在之前一直都挺好,包括昨天晚上配置了自己做的一个demo的动态路由。都可以正常运行。
但是今天启动本地服务,启动NETAPP,使用本地的Saber访问时候,可以正常调用服务器的API正常登陆,但是Blade-user的用户列表查询就一直是调用的本地开发的demo微服务,并且一直报404.(ps:因为本地的服务的appName并不叫blade-user,也没有那个接口,所以一直在本地的服务报404.)
在线上的Saber访问,也是一样。但在昨天一直都是好的。
随后,为了验证是否是自己的动态路由配置的不对,就去掉了 gateway.json的内容,按之前的操作来看,应该是会很快生效。但是并没有。
然后我又把nacos上的gateway.json删掉了。还是不行,一直都是调用到本地。
这时,我担心服务器的user微服务是不是假死了,重启了blade-user,还是调用到我本地。
所以我怀疑是不是gateway的微服务里面存在缓存或者其他问题,就重启了一下gateway的微服务。这时候用户列表的API调用才走到服务器上的blade-user里。
然后我重新又配置了一下gateway.json,问题消失了。
该问题应该是偶然现象,不好复现,但是应该是gateway里面,去加载动态路由时,可能存在逻辑处理导致缓存的问题。
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
BladeX 2.4.0 联合版 Linux,windows,都存在
四、请提供详细的错误堆栈信息,这很重要。
因为尝试的时候,没想到会好,所以丢失了本地服务的404报错。但是NETAPP的报错还在的。
我把本地的demo服务关闭了以后,就报502了。
五、若有更多详细信息,请在下面提供。
扫一扫访问 Blade技术社区 移动端