每日一博 | 一步步解决长连接 Netty 服务内存泄漏
作者:京东科技 王长春 背景 事情要回顾到双11.11备战前夕,在那个风雨交加的夜晚,一个急促的咚咚报警,惊破了电闪雷鸣的黑夜,将沉浸在梦香,熟睡的我惊醒。 一看手机咚咚报警,不好!有大事发生了!电话马上打给老板: 老板说: 长连接吗? 我说:是的! 老板说:该来的还是要来的,最终还是来了,快,赶紧先把服务重启下! 我说:已经重启了! 老板说: 这问题必须给我解决了! 我说:必须的! 线上应用长连接Netty服务出现内存泄漏了!真让人头大 在这风雨交加的夜晚,此时,面对毫无头绪的问题,以及迫切想攻克问题的心,已经让我兴奋不已,手一把揉揉刚还迷糊的眼,今晚又注定是一个不眠之夜! 应用介绍 说起支付业务的长连接服务,真是说来话长,我们这就长话短说: 随着业务及系统架构的复杂化,一些场景,用户操作无法同步得到结果。一般采用的短连接轮训的策略,客户端需要不停的发起请求,时效性较差还浪费服务器资源。 短轮训痛点: 时效性差 耗费服务器性能 建立、关闭链接频繁 相比于短连接轮训策略,长连接服务可做到实时推送数据,并且在一个链接保持期间可进行多次数据推送。服务应用常见场景:PC端扫码支付,用户打开扫...
