Java8 Parallel Stream:一次线上告警引发的思考
由于在使用parallelStream()时没有注意并发安全性,导致返回结果中出现null元素,触发了线上报警,上游服务通过RPC调用下游服务时服务超时,而客户端是采用轮询的方式检查接口最新数据,所以每30s就会报一次。
最后查明是由于下游服务在write回流过程中遇到NPE阻断了写入流程导致。
下面贴出事故代码:
由于在并行流过程中使用了非线程安全的ArrayList,底层维护的数据在...
原创
2018-08-18 15:50:49 ·
4361 阅读 ·
0 评论