Node js q-con
Upcoming SlideShare
Loading in...5
×
 

Node js q-con

on

  • 1,534 views

 

Statistics

Views

Total Views
1,534
Views on SlideShare
1,520
Embed Views
14

Actions

Likes
2
Downloads
20
Comments
0

1 Embed 14

http://paper.li 14

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Node js q-con Node js q-con Presentation Transcript

  • Server-Side JavaScript Developement Node.JS Quick Tour 数据平台与产品 - 清笃 <qingdu@taobao.com> from http://cnodejs.org/11年4月2日星期六
  • 传统观念 JavaScript = 浏览器客户端11年4月2日星期六
  • Server-Side JavaScript11年4月2日星期六
  • 先驱 Aptana Jaxer Helma11年4月2日星期六
  • Jaxer • Apache Httpd • Mozilla SeaMonkey • “世界第一” • 前后端js代码的统一与互相调用 • 传统的服务器端脚本11年4月2日星期六
  • 适用场景 • web前端系统 • 对不支持js的浏览器提供js支持11年4月2日星期六
  • Helma • RingoJS • “12 years” • Java • MVC • 应用服务器11年4月2日星期六
  • 问题 • no more servers • do more things • 统一标准 • 技术生态圈11年4月2日星期六
  • Revelutions in 2009 • CommonJS • JSConf • Node11年4月2日星期六
  • Nodes goal is to provide an easy way to build scalable network programs -- nodejs.org11年4月2日星期六
  • 发展历史 • 1/5/2009 Ryah Dahl 提出项目构想 • 2/15/2009 项目启动 • 5/31/2009 发布初始版本 • ...... • 3/2/2011 v0.4.4 发布11年4月2日星期六
  • 社区与生态圈 • 目前在官方wiki上有近700个module • 超过20位活跃的开发者 • 每天都在进步11年4月2日星期六
  • 基础库 • libev (event loop) • libeio (nonblocked posix, thread pool) • v8 (javascript engine by google)11年4月2日星期六
  • 核心思想 • 非阻塞 • 单线程 • 事件驱动11年4月2日星期六
  • 阻塞模式11年4月2日星期六
  • 非阻塞模式11年4月2日星期六
  • 单线程 - 优势 • 程序逻辑简单 • 系统资源占用低 • 无通信与锁开销带来高性能11年4月2日星期六
  • 单线程 - 劣势 • 一个程序仅能在一个cpu上运行 • 一旦程序异常将导致整个进程崩溃11年4月2日星期六
  • 解决方案 - Web Worker11年4月2日星期六
  • 性能 • AMD Opteron 2200 单核, 4G RAM • socket client 20,000+ qps • socket server 17,000 qps • http server 4,400 qps • 内存消耗 30~40m • see more. <http://cnodejs.org/blog/?p=8>11年4月2日星期六
  • 一些限制 • SSL支持不够成熟 • Windows下还存在很多问题 • 1G heap限制(by v8)11年4月2日星期六
  • 适用场景 • Web Socket & Web Comet • 大并发负载中间层服务 • 简单的Spider11年4月2日星期六
  • Dig into the node11年4月2日星期六
  • 安装11年4月2日星期六
  • Hello World! Familiar & Simple11年4月2日星期六
  • HTTP服务11年4月2日星期六
  • String vs Buffer String带来的问题 • 转码开销 • 内存开销 • memcopy • 垃圾回收11年4月2日星期六
  • Node Buffer Buffer Codes Node Buffer 30 V8 Memory Engine11年4月2日星期六
  • String vs Buffer With String11年4月2日星期六
  • String vs Buffer With Buffer11年4月2日星期六
  • 带来的性能改进 With String11年4月2日星期六
  • 带来的性能改进 With Buffer11年4月2日星期六
  • Debug11年4月2日星期六
  • Debug in eclipse • Eclipse debugger plugin for V8: http://code.google.com/p/chromedevtools/ • http://bit.ly/eQl7iI11年4月2日星期六
  • UnitTest • Expresso https://github.com/visionmedia/expresso • Nodeunit https://github.com/caolan/nodeunit11年4月2日星期六
  • UnitTest11年4月2日星期六
  • UnitTest11年4月2日星期六
  • 包管理 • PHP: pear • Python: PyPI, setuptools • Ruby: Gems • Node:11年4月2日星期六
  • 安装与使用11年4月2日星期六
  • Links • http://www.commonjs.org/ • http://nodejs.org/ • http://howtonode.org/ • https://github.com/joyent/node/wiki • https://npmjs.org/11年4月2日星期六
  • 11年4月2日星期六
  • nodejs-kissy11年4月2日星期六
  • nodejs-kissy • kissy框架的node移植版 • one for all • https://github.com/kissyteam/nodejs-kissy11年4月2日星期六
  • node-myfox • mysql分布式集群的查询系统 • 对客户端透明 • 支持http/socket协议 • deamon-worker • unix-socket11年4月2日星期六
  • node-myfox Master Sql http / socket Query !"#$%&"#% $"( !"#$%&"#% $") Router Worker $"( Shard 1 Route Shard Shard 2 Route Info $") Info Data Shard N11年4月2日星期六
  • CNodeJS.ORG为淘宝的工程师志愿发起的 Node.JS原创技术社区,致力于Node.JS的 技术研究和技术推广。11年4月2日星期六
  • CNodeJS • blog • http://cnodejs.org/blog/ • ask • http://cnodejs.org/ask/11年4月2日星期六
  • CNodeJS北京聚会 邀请你参加11年4月2日星期六
  • 时间: 2011.4.16(周六)下午 地点: 北京betacafe11年4月2日星期六
  • 11年4月2日星期六