「开往春天的 Node.js」 - Node 地下铁第二期线下沙龙总结
作者: 发布于:

前言

寒冬已逝,春之伊始。

3 月 26 日下午,Node 地下铁第 2 次线下沙龙在上海世博展览馆万信酒店举行。本次沙龙邀请了四位在不同领域应用 Node.js 进行探索的大牛,带着我们在温暖的午后,感受 Node.js 的魅力。

虽然当天是近来久违的好天气,而且会场地点有些偏,但这些都没有令同学们对 Node.js 的热情衰减,13 点半签到,很快会议室的位置所剩无几了,在这里,组委会感谢各位同学的支持。

回顾

Node.js 源站的发展与挑战

淘宝首页是淘宝很重要的一个页面,它原本一直运行在数量庞大的应用集群上,性能浪费非常严重。过去的一年,淘宝使用 Node.js 源站解决了已有的问题,我们用几十台虚拟机支撑了淘宝数十亿 PV 的流量。

但 Node.js 源站也为我们带来了新的挑战:

  • 如何设计伪静态的缓存方案,保障对时间、多终端的良好支持?
  • 如何优化模块文件合并分发渠道,让首页数百个模块不再产生 IO 瓶颈?
  • 如何在高压力下解决源站的异地多活等高可用问题?

你可以在基德同学的分享中深入了解这其中的奥妙,另外,也欢迎喜欢挑战的人加入我们,让 Node.js 源站更加强大。

alinode - 基于 Node.js 运行时的应用性能管理解决方案

你是否还在为自己的 Node.js 应用的稳定性而担忧?是否在应用出错时手足无措,不知道从何下手?是否每每在内存溢出发生时,才发现自己原来挖了这样一个坑?

有了 alinode,这些苦恼便能轻松化解。它是阿里云出品的 Node.js 应用服务解决方案,是一套基于社区 Node.js 改进的运行时环境和服务平台。在社区的基础上内建了强大的支持功能,帮助开发者迅速洞见性能细节,快速定位疑难杂症,直探问题根源。

在穆客的分享中,你可以详细了解 alinode 的使用,以及手把手的问题处理教程。

使用 NW.js 构建桌面钉钉

移动端技术和工具链最近几年发展的非常快,桌面端却没有太大的发展。WEB 技术发展的也非常快,同时 Chromium 项目提供了优秀的跨平台浏览器内核,现在最快的构建桌面应用的方式变成了 nw.js 或者 Electron 这样的利用 WEB 技术加 Node.js 的方案。

在钉钉,使用了 NW.js 来构建跨平台的桌面应用,但只靠 JavaScript 依然搞不定所有的事情,比如自动更新应用,截图功能,读写系统剪切版等等。结合 Node.js Addon 技术来和 C++ 模块的实用,完成一些 Javascript 暂时不好实现的需求。

想了解钉钉为什么不使用风头正热的 Electron,或者想知道如何使用 nw.js 构建一个体验不输给 Native 的应用以及面临的挑战,快来听听云际的分享吧。

Thunk-Redis

thunks 和 redis 对大家来说也许并不陌生,但是两者的结合你了解吗?是在造轮子,还是在追求极致的速度体验。

在来自 Teambition 严清的分享中,我们可以了解到如何遵照 RESP (REdis Serialization Protocol) 协议,实现一个更快,更强大的 Redis 客户端,以及 Redis 和 Node.js 在 Teambition 关键系统中的使用,比如:消息系统,邮件队列等。感觉要学到很多姿势了呢。

讨论

四位同学的精彩分享结束后,接下来的环节是圆桌讨论(并没有圆桌 - -!)。在讨论中,大家纷纷提出了自己在 Node.js 实践中遇到的问题,也有的分享了自己在实践中的一些心得。

几个比较受关注的问题:

  • NPM 的安全以及可靠性,对 Node.js 生态的担忧等。
    这是由最近 @Azer 在 NPM 社区中引发的讨论。@johnhax 等人纷纷表达了自己的观点。爱之深,责之切,依赖质量以及依赖方式,确实是 Node.js 生态中目前比较薄弱的环节,但是在一个活跃的社区推动下,这些都会有很好的解决方案的,毕竟 Node.js 也在成长。
  • 如何使用 aliNode 分析错误,以及错误处理的相关经验
    社区中,有很多人在使用 aliNode 来监控、分析自己应用的性能以及问题。但是,对于新人来说,从一个 heapdump 中分析出问题所在,还是有一些难度的,很多人希望可以学习到一些经验,当然,很多人也分享了自己如果踩坑、填坑的。
  • 在开发 Node.js 应用中遇到的问题
    这部分主要围绕如何填开发过程中踩过的坑。比如一位同学提到,自己在用 Node.js live reload 配置文件时,经常会导致内存占用过高的情况,大家根据他的描述,提出了一些解决方案。小编认为,如果合理的使用 Node.js 的流 API,或许能解决这个问题。
  • 想使用 Node.js 或者在 Node.js 和其他语言混用的情况
    有些来参会的同学,并是不以 Node.js 作为主语言的人,想尝试一下,通过讨论,使他们对 Node.js 有了更深入的了解。跟淘宝一样,很多公司也面临着 Node.js 和其他语言混用的情况,嘉宾们和同学沟通了自己所采用的方案,希望可以给你们提供一些思路。

结束语

在此感谢各位同学的参与,我们下次再约!同时感谢博文视点对本次活动的图书赞助!欢迎关注 Node 地下铁微信公共账号,随时关注下一次线下沙龙动态。

错过了这次分享的同学也不要急,我们不会忘了你们的,请往下拉。。。

分享资料下载

  • 视频