六年打怪升级,一路披荆斩棘,只为没有难用的Node.js

阿里云于近日推出了Node.js性能平台,旨在为Node.js应用提供集性能监控、性能优化和故障排查为一体的SaaS化服务。更为重要的是,阿里云公共云用户可免费使用该平台的全部功能。更多Node.js性能平台信息,可以移步 https://cn.aliyun.com/product/nodejs。

当头棒喝的技术教训

随着近年社区的蓬勃发展,Node.js许多曾经的缺点都已经得到了改进;但相比其它在工业界有深厚积累和众多实践的企业级技术而言,Node.js还是一门年轻的技术,尽管使用者越来越多,可是真正涉足基础技术的人员依然很少。

早在2012年,阿里巴巴也面临着业界普遍遇到的问题。彼时,Node.js已经诞生了三年有余,而阿里也使用近一年的Node.js。阿里云的高级技术专家朴灵回忆道:“我以前端工程师身份加入淘宝,主要负责开发数据相关的Web产品,并在那时正式接触Node.js服务端。作为这门新技术的狂热粉丝,能够开发并将其落地无疑是相当兴奋激动的。当时有一个场景是要将前端数据发送到后端,通过Node.js记录到MongoDB中。然而从那时候起,噩梦开始了。创建应用在正式上线运行后,每到3天内存都会增长并触发报警直到线上重启。”

彼时团队不仅面临着如何解决线上应用内存问题的巨大压力,而且受到了为何使用新(不成熟)技术的质疑和挑战。在重读每行项目代码、线下压测之后,项目依然呈现线下ok但线上ko的诡异现象,期间只能采取定期重启应用的过渡办法。经过一段时间的寝食难安之后,团队终于定位到前端的数据提交模块,并发现是由于大量数据提交引发MongoDB调用堆积而导致的内存泄露。

阅读原文

你可能感兴趣的:(六年打怪升级,一路披荆斩棘,只为没有难用的Node.js)