Taobao FED

让我们谈谈「生产环境中的 Node.js」- Node 地下铁第1次线下沙龙邀约

让我们谈谈「生产环境中的 Node.js」- Node 地下铁第1次线下沙龙邀约

作为「新兴」的服务端编程语言,Node.js 的流行是现象级的。

它是开发者的宠儿:

  • GitHub 上最活跃的编程语言;
  • 第三方模块总量和增长在所有编程语言中排名第一;

它在互联网公司的一些成功应用被津津乐道:

  • Netflix 使用 Node.js 接管了所有端的视图层渲染;
  • Uber 的线上应用和实时分发系统完全基于 Node.js 构建;
  • Paypal 已经拥有超过 700 名的 Node.js 开发者,他们当中相当一部分曾经是 Java 开发者;

它所带来的研发效率提升完全可以通过理论进行推导。

过去的几年里,我们身处其中,见证了 Node.js 的流行。

光环,只是敲门砖

但,这仅仅是一个好故事的开始。一个创新技术真正被采纳并普及绝不只是早期采用者(Early Adopters)的自弹自唱:

  • Java 取代 C++ 成为企业级应用开发的主流,很大程度是因为更低的技术门槛,而 Node.js 的门槛更低;
  • EcmaScript 6 的发布以及 Babel 的出现,正在让 JavaScript 成为一门更好的语言;
  • Google 干爹每 6 个月一版正在积极迭代优化 V8 JavaScript 引擎,Microsoft 也即将发布并开源支持 Node.js 的 JavaScript 引擎,好像当年 SUN、IBM 还有 BEA 争相发布自己的 JVM 的那个时代;
  • Node.js 的异步非阻塞机制太适合做实时系统了,它的单线程模型太适合分布式系统的水平扩展了;

Node.js 的种种光环,在工业化之路上,只是敲门砖。

screenshot

一项新的技术,从 Early Adopters 阶段进入到 Early Majority 的早期,逐渐开始规模化而必然经历「工业化」阶段。 Node.js 开发者将要更多的面对运维同学和架构师同学的来自生产环境的问题:

  • 应用部署的最佳实践;
  • 如何保障应用的安全性和稳定性;
  • 如何进行进程管理;
  • 如何快速排查线上故障;
  • 如何优化应用性能;
  • 旧应用如何分拆、重构以及下线;
  • 应用如何扩容;
  • 如何差异化地提升关键应用的可用性;
  • 生产环境的 Node.js 升级策略;

2015 年

2015 年,非常不同。

Node.js 基金会和 LTS

2015 年, io.js 从 Node.js 分家一年后重新回归,共同成立 Node.js 基金会。Node.js 基金会(成员包括IBM/Intel/Microsoft/Joyent/Paypal/Redhat/NodeSource/SAP/Yahoo/npm/GROUPON 等等)取代 joyent 成为决定 Node.js 发展方向的主体组织。

2015 年,Node.js 面向企业用户迈出坚实一步,在跟随 V8 进行每 6 个月版本递增的基础上,正式推出支持周期长达 30 个月的 LTS 版本,企业级用户可以真正享用稳定,而不再需要受累高昂的升级成本。

screenshot

企业级的 Node.js 服务

2015 年,IBM 收购 StrongLoop(拥有 Express 框架),整合 Java 资源,开始提供企业级的 Node.js 解决方案和 基于 Node.js 的 API 中间件服务。
2015 年,NodeSource 公司推出企业级的 Node.js,取名 NSolid,为企业级用户提供稳定性、安全性以及可预测性有保障的 Node.js 运行时,提供 7x24小时的有偿服务。

微服务

有人把 2015 年称为「容器年」,有人把 2015 年称为「微服务年」。无论如何,微服务和 Docker(或者 Rocket 等其它容器)的结合,在 2015 年,显著地成就了彼此,也为线上的大型应用重构提供了一种崭新的可能。

一个正在线上运行的巨无霸应用,无论执行变更、部署、或者扩容都存在潜伏的风险和挑战,将巨型应用拆解为一系列的微服务,将极大地减小使用 Node.js 进行重构的风险。

2016 年,Node.js 将会发布 v6 LTS,Midway 将会发布 5.0,Midway Sandbox 将会正式提供线上服务。

语言层面/开发环境中的问题,值得被继续讨论,但我们已经来到了工业化的路口。

这一次,我们将视野投向生产环境,一起聊聊 「生产环境中的 Node.js」,分享我们的实践,听听大家的经验:

  • 应用部署的最佳实践;
  • 如何保障应用的安全性和稳定性;
  • 如何进行进程管理;
  • 如何快速排查线上故障;
  • 如何优化应用性能;
  • 旧应用如何分拆、重构以及下线;
  • 应用如何扩容;
  • 如何差异化地提升关键应用的可用性;

我们是淘宝前端团队 FED 自营的 Node.js 线下交流沙龙 —— Node 地下铁,在运营了 11 期内部沙龙之后,2016 年 1 月 9 日下午,和你相约北京,欢迎有线上应用实践经验的开发者、运维、架构师报名参加,共同交流。

报名链接:http://nodejs.club/

欢迎微信扫码关注 Node 地下铁微信公众账号,了解更多我们关于 Node.js 的实践和原创思考。

screenshot