zoukankan      html  css  js  c++  java
  • hessian 报 'j' is unknow code故障分析

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

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

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

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

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

  • 相关阅读:
    2015百度之星 放盘子
    2015百度之星 IP聚合
    2015百度之星 列变位法解密
    2015百度之星 大搬家
    数论 --- 费马小定理 + 快速幂 HDU 4704 Sum
    组合数(Lucas定理) + 快速幂 --- HDU 5226 Tom and matrix
    Linux
    概率论 --- Uva 11181 Probability|Given
    JAVA
    网络爬虫-原理篇(二)
  • 原文地址:https://www.cnblogs.com/zhoukedou/p/3054868.html
Copyright © 2011-2022 走看看