APP接口时好时坏问题总结

昨天升级乌市水流域APP接口的过程中,APP接口(获取站点历史数据)在测试过程中,相同的参数传入,有时测试通过,有时测试不通过。代码在开发环境经过多次测试,并没有发现相同的问题,多次升级生产环境后,问题并没有得到解决。

正常情况:

出错情况:

  • 2、问题分析

通过请教领导,得知问题原因可能是因为存在多个相同的服务注册到了同一个zookeeper中,接口在调用服务时,有时调用到这个服务(更新后发布的data服务,bug已修复),有时调用到另一个服务(更新前发布的data服务,存在bug)。

  • 3、问题跟踪和确认

经过上面的分析,我们打开了更新后发布的data服务的实时日志,然后测试接口,发现在接口测试通过的时候,日志中打印出来了查询的sql,接口测试失败时,日志中没有打印任何的日志(在公司的系统框架中,调用dao接口查询数据都会打印出sql)。

通过上面的测试,初步判定为存在更新前的data服务。接下来我们查看了可能存在data服务的所有机器,通过查看结果发现确实有多个机器发布了data服务,其中除最后发布的data服务外,其余的data服务都是不小心发布的(data服务是一个jar包,在windows服务器中,如果配置了jdk,双击jar包就可以运行)。

4、问题解决

关闭不小心发布的data服务,经过多次测试,没有发现时好时坏的问题。问题得到解决。

5、问题总结

在以后的开发中,如果发现同样的问题,很可能是因为同一个服务发布了多次,即同一个服务存在不同的版本,在这些版本中,有些是没有bug的,而有些则是以前的老版本,存在bug,在接口调用过程中,如果调用到存在bug的服务,则测试失败,如果调用到没有bug的服务,则测试通过。

在以后的开发过程中,如果出现相同的情况,可以通过dubbo-admin查看对应服务的提供者,看一下调用的服务是否存在多个提供者,如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值