hessian 报 'j' is unknow code故障分析

系统 1685 0

今天突然发生了一件怪事,在内测环境下所有的客户端通过hessian请求服务端时,部分的请求直接返回  'j' is unknow code ,服务端并不报错。发生这个问题,真把我给急坏了,内测环境是我们上线生产的最后一道关,如果这个故障不解决,所有的应用都要停止上线,以免给生产系统造成影响。一方面更新邮件不停的在累积,另一方面,出于对生产系统负责的态度,不敢对生产环境进行更新。

某大神一直认为是项目中的包的版本的问题,不断的让我换依赖包的版本,当时我也没有太好的排查方案,只好先尝试换换看,换来换去问题依旧。一上午很快就过去了,到下午,无线那边的产品挨个找我问我情况,迫于压力,我回复产品部门,四点之前一定给出出力结果。于是我开始自己来分析问题。

1、生产环境和测试环境都没问题,只有内测环境有问题。内测环境的包和生产环境的包都是一样的,应用的包文件没有更换过,这样其实先排除应用内部的原因了。(所以说上午听某大神的换依赖包版本的建议是有多么的离谱了)

2、把内测客户端的RPC的请求地址先换成生产的RPC,排除故障是否与服务端有关系。改完测试之后,发现客户端和服务端都没问题。请求都很正常。说明问题在中间转发层或者是服务端。再把RPC的请求地址更换成内测服务端的IP地址(除中间转发层),发现请求都正常。排除之后可以肯定,是由于中间层转发出现了故障造成的。

3、找到运维的负责请求转发的同事,让他检查了一下,最终确认的原因是由于 应用防火墙的配置有问题导致请求被拦截造成返回数据无法被hassian协议识别导致的。修复应用防火墙配置,故障恢复。

 

hessian 报 'j' is unknow code故障分析


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论