20170801
早上六点倒是醒了,不过立马又睡着了。七点半起来过早跑路,上午在公司干啥来着?好像还是在处理某些接口超时的问题。延长超时时间只是权宜之计,重点还是负荷过重吧?那窝还是把线程池改成有上限的,这样有新请求进来,线程池又是满的话就会拒绝了,不会进一步加大服务器压力。就是为啥报错报文里的json被重复了一次?算了下午再说,还有其它的问题要处理。下午的话似乎确定解决了昨天的慢sql问题,顺便解决了另一个微服务的熔断问题。所以窝昨天就说了直接把feign的hystrix关掉就好了啊……其它事都搞完了,劳资来跟一跟为啥你丫要把报文写两遍。试了半天,发现生成报文用的ExceptionHandler被调了两次,为啥捏?异步请求会执行两遍filter倒是没错,但是第一遍不是会在controller之前停掉么?继续跟,发现尼玛原来向线程池提交callable(并报线程池满的错)的那一步正好在判断是否是异步处理请求哪一步之前,于是直接跳到了异常处理阶段。两次都这样,响应报文自然就会被写两遍喽。这个错发生的条件还有点刁钻,不过看起来controller里返回callable之前的代码抛异常也会有同样的效果?明天去试试。这个的解决方案嘛,就是专门给TaskRejectException写一个全局的handler,这里是能拿到request的,随便取个名字,给request设置一下该名字的属性(值无所谓了),然后写个filter检查request的这个属性,为空才继续往下走,不然直接返回。测了下没啥问题,明天汇报一下提交算了。晚饭时分还有迭代评审会啥的,窝才来所以只是观摩了下。这个组人还真多啊……下个迭代应该会有些前端的开发任务吧。草草看下计算机网络和http权威指南(窝发现大部分基础知识窝还记得,那还能咋样捏),八点跑路,回来打打神海,看看吃鸡碎觉。
评论
发表评论