Taobao FED

分类:Node.js

当我们谈论 cluster 时我们在谈论什么(下)

上篇文章讲解了 Node.js 中多进程部署时遇到的各种问题,那么实际的线上项目中到底是如何利用多进程,如何保障各个 worker 进程稳定性的呢,又是如何利用 cluster 模块 fork 子进程,父子进程间又是如何实现通信的呢?本篇就来一一揭晓。 负载均衡回忆一下上篇中提到的最初 Node.js 多进程模型,多个进程绑定同一端口,相互竞争 accpet 新到来的连接。由于无法控制一个新的连

Node.js 常见网络错误信息

1.介绍熟悉 Node.js 的同学一定见过 ETIMEDOUT、EADDRINUSE 等错误提示,那么这些错误信息到底是什么呢?答案其实很简单,因为 Node.js 底层使用的是 glibc 库,这些错误信息都是 glibc 库在 socket 连接时使用的 connect 函数中定义的错误类型,当然,v8在使用glibc库时也会加入一些自定义的错误类型,但许多错误情况还是和glibc中的定义

当我们谈论 cluster 时我们在谈论什么(上)

Node.js 诞生之初就遭到不少这样的吐槽,当然这些都早已不是问题了。 1、可靠性低。2、单进程,单线程,只支持单核 CPU,不能充分的利用多核 CPU 服务器。一旦这个进程崩掉,那么整个 web 服务就崩掉了。 回想以前用 php 开发 web 服务器的时候,每个 request 都在单独的线程中处理,即使某一个请求发生很严重的错误也不会影响到其它请求。Node.js 会在一个线程中处理

timer 的优化故事

前段时间 Node.js 发布了新版本 4.0,其中涉及到一个更新比较多的模块,那就是下面要介绍的 timer 模块。 timers: Improved timer performance from porting the 0.12 implementation, plus minor fixes (Jeremiah Senkpiel)#2540, (Julien Gilli)nodejs/n

Node.js 探秘:初识单线程的 Node.js

前言从Node.js进入人们的视野时,我们所知道的它就由这些关键字组成 事件驱动、非阻塞I/O、高效、轻量,它在官网中也是这么描述自己的。 Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model th

致想用 Node.js 的你

Node.js,09 年这个集成了 Google V8 JavaScript 引擎和一个底层 I/O API 的项目,如今项目无数,大企业也纷纷尝试。 Node.js 有如得到了金陵才子一般,忽然间就在大街小巷中风靡开来,诱人的滋味感觉谁都想咬一口,虽然其他语言的酸葡萄理论开始蔓延,但是依旧没有影响到它的推广和发展。在强大的 PHP 和稳定的 Java 之中,慢慢的发芽并占有了一席之地。 虽说一

前后端分离的思考与实践(六)

nginx + Node.js + Java 的软件栈部署实践起关于前后端分享的思考,我们已经有五篇文章阐述思路与设计。本文介绍淘宝网收藏夹将 Node.js 引入传统技术栈的具体实践。 淘宝网线上应用的传统软件栈结构为 nginx + Velocity + Java,即: 在这个体系中,nginx 将请求转发给 Java 应用,后者处理完事务,再将数据用 Velocity 模板渲染成最终的页

前后端分离的思考与实践(五)

基于前后端分离的多终端适配前言近年来各站点基于 Web 的多终端适配进行得如火如荼,行业间也发展出依赖各种技术的解决方案。有如基于浏览器原生 CSS3 Media Query 的响应式设计、基于云端智能重排的「云适配」方案等。本文则主要探讨在前后端分离基础下的多终端适配方案。 关于前后端分离 关于前后端分离的方案,在《前后端分离的思考与实践(一)》中有非常清晰的解释。我们在服务端接口和浏览器之间

前后端分离的思考与实践(四)

前后端分离模式下的安全解决方案前言 在前后端分离的开发模式中,从开发的角色和职能上来讲,一个最明显的变化就是:以往传统中,只负责浏览器环境中开发的前端同学,需要涉猎到服务端层面,编写服务端代码。而摆在面前的一个基础性问题就是如何保障 Web 安全? 本文就在前后端分离模式的架构下,针对前端在 Web 开发中,所遇到的安全问题以及应对措施和注意事项,并提出解决方案。 跨站脚本攻击(XSS)的防御

前后端分离的思考与实践(三)

Midway-ModelProxy — 轻量级的接口配置建模框架前言使用 Node.js 做前后端分离的开发模式带来了一些性能及开发流程上的优势(见《前后端分离的思考与实践 一》), 但同时也面临不少挑战。在淘宝复杂的业务及技术架构下,后端必须依赖Java搭建基础架构,同时提供相关业务接口供前端使用。Node.js 在整个环境中最重要的工作之一就是代理这些业务接口,以方便前端(Node.js 端