![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线上问题
文章平均质量分 95
a_ittle_pan
拥抱开源!
展开
-
【程序大侠传】异步架构应用回调数据接收接口偶发NPE
此时,已经过去了2个小时,阿强作为一个对可知错误无法容忍的人,他又开始了新的一轮头脑风暴,突然,阿强脑子的灵光一闪而过。10分钟之后,阿强信心满满地又重新分析了一下弟子A的代码,果然,他在thirdApply这个接口中发现了一丝猫腻,系统A的记录落库是在调用三方系统之后,那考虑一种场景,如果三方系统在处理完自己逻辑并回调系统A时,A系统还没有将请求记录落库,这个时候在回调接口中会拿不到记录数据然后应用就会抛出npe的异常,与此同时,异常抛出之后,记录数完成了落库操作,三方系统再次回调就不会发生npr异常。原创 2024-07-01 17:43:21 · 809 阅读 · 0 评论 -
【线上问题】记一次公司日志基础组件SPI使用不当导致业务中断
嗯~,很好,有很多的异常,看来有的看了。然后15分钟后,不出意料的找到了异常的根因,这次告警有好几处异常,本文只分析、描述跟业务无关的异常。它主要用于可以插拔的组件之间的解耦。load方法完成ServiceLoader对象的创建,其中需要我们关注的是在ServiceLoader构造器的中会调用一个reload方法,此方法会进行迭代器类的创建,此类是SPI最核心的实现类。本文不对hasNextService()方法里面的各种处理去做详细的分析,但是有一个点需要我们知道的是,这个方法没有进行并发场景下的处理。原创 2024-03-17 15:22:11 · 964 阅读 · 1 评论 -
【线上问题】CompletableFuture与线程池使用不当导致服务整个挂掉
(内心慌的一批🌝)他开始滔滔不绝地说了一大堆是如何排查问题的(技术人的特性,对于解决问题非常热忱),虽然我当时一直保持着很认真的神态,但其实心里非常煎熬(是谁的代码导致的一直没有说!现在暂时不去分析代码,先描述现象。出现问题的那个晚上,有一波突刺流量,由于我们没有针对接口的请求失败做短信告警(虽然有钉钉异常告警群,但是大家都不是很关心群里消息🌞),因此一开始出现问题的接口出现大面积的请求超时而我们都没有感知到,直到最终服务出现不可用,值班同事才发现这个问题(经过此事件,我们很自然地加上请求失败告警🌦️)。原创 2024-01-21 13:10:14 · 1229 阅读 · 1 评论