编程学习之如何在Node.js中优化服务器端渲染?[图]

编程学习之如何在Node.js中优化服务器端渲染?[图]
在 Airbnb,我们花了数年时间将所有前端代码迁移到 React 架构,Ruby on Rails 在 Web 应用中所占的比例每天都在减少。实际上,我们很快会转向另一个新的服务,即通过 Node.js 提供完整的服务器端渲染页面。这个服务将为 Airbnb 的所有产品渲染大部分 HTML。这个渲染引擎不同于其他后端服务,因为它不是用 Ruby 或 Java 开发的,但它也不同于常见的 I/O 密集型 Node.js 服务。
一说起 Node.js,你可能就开始畅想着高度异步化的应用程序,可以同时处理成千上万个连接。你的服务从各处拉取数据,以迅雷不及掩耳之势处理好它们,然后返回给客户端。你可能正在处理一大堆 WebSocket 连接,你对自己的轻量级并发模型充满自信,认为它非常适合完成这些任务。

编程学习之如何在Node.js中优化服务器端渲染?[图]_第1张图片


但服务器端渲染(SSR)却打破了你对这种美好愿景的假设,因为它是计算密集型的。Node.js 中的用户代码运行在单个线程上,因此可以并发执行计算操作(与 I/O 操作相反),但不能并行执行它们。Node.js 可以并行处理大量的异步 I/O,但在计算方面却受到了限制。随着计算部分所占比例的增加,开始出现 CP

你可能感兴趣的:(网站建设,Node.js,编程,互联网,计算机,科技)