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

作者: 淘杰 发表于: 2015-11-11
上篇文章讲解了 Node.js 中多进程部署时遇到的各种问题,那么实际的线上项目中到底是如何利用多进程,如何保障各个 worker 进程稳定性的呢,又是如何利用 cluster 模块 fork 子进程,父子进程间又是如何实现通信的呢?本篇就来一一揭晓。 负载均衡 回忆一下上篇中提到的最初 N...

如何评价页面的性能

作者: 溪夏 发表于: 2015-11-10
引言 前端页面的性能一直都是一个热议的话题,从老早的“军规”开始我们就一直在关注页面的性能问题。 在前面巨人们的身后每个人也有自己的一些页面性能的经验,本文主要是介绍如何评估页面加载完成之后的性能。 浏览器如何渲染一个页面 先附上一张图片: 这是在网上找的一张图,虽然是用来描述 perfo...

JSTracker:异常数据处理

作者: 溪夏 发表于: 2015-11-07
上一篇:JSTracker 之前端异常数据采集 前文已经解决了采集数据的问题了,但是采集到的数据不做分析是体现不出价值的。接下来会介绍 JSTracker 的数据处理部分。 大概会按照以下目录: 服务端如何接受数据 数据存储 报警 定位 JSTracker的系统流程图: 服务端如何接受...

Node.js 常见网络错误信息

作者: 云翮 发表于: 2015-11-06
1.介绍 熟悉 Node.js 的同学一定见过 ETIMEDOUT、EADDRINUSE 等错误提示,那么这些错误信息到底是什么呢?答案其实很简单,因为 Node.js 底层使用的是 glibc 库,这些错误信息都是 glibc 库在 socket 连接时使用的 connect 函数中定义的错...

rem 产生的小数像素问题

作者: 颂晨 发表于: 2015-11-05
由于日常需求以无线居多,所以可以在业务中做一些尝试,如 rem,刚接触这个特性的时候,曾经一度爱不释手,仿佛在无线开发的坎坷路上寻找到一条捷径。然而随着使用范围的扩大,慢慢的发现了一些使用 rem 带来的问题。 rem 关于 rem 这个单位的介绍,在此就不赘述,有兴趣的同学可以阅读一丝的《...

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

作者: 淘杰 发表于: 2015-11-04
Node.js 诞生之初就遭到不少这样的吐槽,当然这些都早已不是问题了。 1、可靠性低。 2、单进程,单线程,只支持单核 CPU,不能充分的利用多核 CPU 服务器。一旦这个进程崩掉,那么整个 web 服务就崩掉了。 回想以前用 php 开发 web 服务器的时候,每个 request 都...

已买到的宝贝前端组件化探索

作者: 梧忌 发表于: 2015-11-03
随着已买到的宝贝组件化全网回归完成,项目开发工作终于告一段落了,接下来便是 Beta ,灰度发布。我也终于有了时间来总结一下整个项目。 同学们普遍对 PC 业务如何进行组件化感兴趣,在此就把我在项目中的思考过程,积累的经验写出来与大家分享。 先来介绍一下已买到的宝贝这个业务: 已买到的宝贝是全...

timer 的优化故事

作者: 淘杰 发表于: 2015-10-31
前段时间 Node.js 发布了新版本 4.0,其中涉及到一个更新比较多的模块,那就是下面要介绍的 timer 模块。 timers: Improved timer performance from porting the 0.12 implementation, plus minor fi...

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

作者: 凌恒 发表于: 2015-10-30
前言 从Node.js进入人们的视野时,我们所知道的它就由这些关键字组成 事件驱动、非阻塞I/O、高效、轻量,它在官网中也是这么描述自己的。 Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. No...

淘宝首页兜底容灾方案

作者: 阎王 发表于: 2015-10-29
淘宝首页是淘宝的一个大流量入口,平均每天的 PV 量达到一亿。而页面上的数据很多都是通过接口调用,不同的接口对应着不同的系统,每个系统的稳定性是不太一样的。 一、兜底容灾的必要性 一个日均承载一亿流量的网页,会经常出现哪些问题呢? 某个接口挂了,前端拿不到数据或者拿到的数据不够,页面展示就...