SlideShare a Scribd company logo
1 of 112
独爽不如众乐
 分享平台构建之旅
文龙@maxbbn
交易&新业务
评价
fenxiang.taobao.net
服务器端
服务器端


• 应用服务器
• 前端服务器
服务器端


• 应用服务器
• 前端服务器
服务器端


• 应用服务器
• 前端服务器
NodeJS, 啥?
NodeJS, 啥?
• server-side V8
NodeJS, 啥?
• server-side V8
• event-driven 事件驱动
NodeJS, 啥?
• server-side V8
• event-driven 事件驱动
• non-blocking I/O 无阻塞的IO
NodeJS, 啥?
• server-side V8
• event-driven 事件驱动
• non-blocking I/O 无阻塞的IO
• single threaded, efficient 单线程
NodeJS, 啥?
• server-side V8
• event-driven 事件驱动
• non-blocking I/O 无阻塞的IO
• single threaded, efficient 单线程
• freaking fast 真XX快
不擅长的


• 发送大量静态文件
• 密集的计算(use Worker)
a Simple Server

var http = require('http');

http.createServer(function (req, res) {

  res.writeHead(200, {'Content-Type': 'text/plain'});

  res.end('Hello Worldn');

}).listen(1337, "127.0.0.1");

console.log('Server running at http://127.0.0.1:1337/');
Nginx, Who?
Nginx, Who?
•   HTTP 和 反向代理 服务器
Nginx, Who?
•   HTTP 和 反向代理 服务器

•   IMAP/POP3/SMTP 代理服务器
Nginx, Who?
•   HTTP 和 反向代理 服务器

•   IMAP/POP3/SMTP 代理服务器

•   Non-Blocking 无阻塞
Nginx, Who?
•   HTTP 和 反向代理 服务器

•   IMAP/POP3/SMTP 代理服务器

•   Non-Blocking 无阻塞

•   Event-Driven 事件驱动
Nginx, Who?
•   HTTP 和 反向代理 服务器

•   IMAP/POP3/SMTP 代理服务器

•   Non-Blocking 无阻塞

•   Event-Driven 事件驱动

•   Single threaded 单线程
Nginx, Who?
•   HTTP 和 反向代理 服务器

•   IMAP/POP3/SMTP 代理服务器

•   Non-Blocking 无阻塞

•   Event-Driven 事件驱动

•   Single threaded 单线程

•   Resource efficient 高效
Nginx, Who?
•   HTTP 和 反向代理 服务器

•   IMAP/POP3/SMTP 代理服务器

•   Non-Blocking 无阻塞

•   Event-Driven 事件驱动

•   Single threaded 单线程

•   Resource efficient 高效

•   Highly modular 高度模块化
Work Together
Work Together
            fenxinag.taobao.net
Work Together
            fenxinag.taobao.net
Work Together
            fenxinag.taobao.net

                :80
Work Together
            fenxinag.taobao.net

                :80

                   Nginx
Work Together
            fenxinag.taobao.net

                :80

                   Nginx
Work Together
              fenxinag.taobao.net

                  :80

                        Nginx



        proxy to:8000
Work Together
              fenxinag.taobao.net

                  :80

                        Nginx



        proxy to:8000

                  NodeJS Server
Work Together
              fenxinag.taobao.net

                  :80

                        Nginx



        proxy to:8000

                  NodeJS Server
Work Together
              fenxinag.taobao.net

                  :80

                        Nginx



        proxy to:8000

                  NodeJS Server
Work Together
              fenxinag.taobao.net

                  :80

                                    Static
                        Nginx
                                     File


        proxy to:8000

                  NodeJS Server
Work Together
              fenxinag.taobao.net

                  :80

                                    Static
                        Nginx
                                     File


        proxy to:8000

                  NodeJS Server
Work Together
              fenxinag.taobao.net

                  :80

                                    Static
                        Nginx
                                     File


        proxy to:8000

                  NodeJS Server
配置nginx很简单
server
    {
         listen      80;
         server_name fenxiang.taobao.net;

         location / {
             proxy_pass       http://localhost:8000;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_redirect   off;
	   	    }
     }
nginx dealing with the static files
server
    {
         listen      80;
         server_name fenxiang.taobao.net;

         location ~* .(png|jpg|gif|zip|ppt|rar|pdf|js|css|less)$ {
             root /home/wwwroot/fenxiang/public;
         }

         location / {
             proxy_pass       http://localhost:8000;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_redirect   off;
	   	    }
     }
数据库
星系 发的故事
• noSQL | Document Based 文档型数据库


                           星系 发的故事
• noSQL | Document Based 文档型数据库
• store in JSON; query in json.
                           星系 发的故事
• noSQL | Document Based 文档型数据库
• store in JSON; query in json.
• Speak Javascript 不说鸟语
                           星系 发的故事
VS
VS


• 都特XX快
VS


• 都特XX快
• 都说 Javascript
VS


• 都特XX快
• 都说 Javascript
• 都喜欢 JSON
VS


• 都特XX快
• 都说 Javascript
• 都喜欢 JSON
• 都是前端的好朋友
诺德和   哥
诺德和       哥


N     M
Web framework
a Simple Server


var http = require('http');

http.createServer(function (req, res) {

  res.writeHead(200, {'Content-Type': 'text/plain'});

  res.end('Hello Worldn');

}).listen(1337, "127.0.0.1");

console.log('Server running at http://127.0.0.1:1337/');
                                                     原生的HTTPServer比较
                                                        弱
                                                        只提供非常有限的功能

                                                        不过,如何去扩展我们
                                                        的server 。
a Simple Server


var http = require('http');

http.createServer(function (req, res) {

  res.writeHead(200, {'Content-Type': 'text/plain'});
                                                                    回调
  res.end('Hello Worldn');

}).listen(1337, "127.0.0.1");

console.log('Server running at http://127.0.0.1:1337/');
                                                     原生的HTTPServer比较
                                                        弱
                                                        只提供非常有限的功能

                                                        不过,如何去扩展我们
                                                        的server 。
Connect

• 中间件框架
• 内置多达18个中间件
• 精选第三方插件
•   logger          •   methodOverride

•   csrf            •   responseTime

•   compress        •   staticCache

•   basicAuth       •   static

•   bodyParser      •   directory

•   json            •   vhost

•   urlencoded      •   favicon

•   multipart       •   limit

•   cookieParser    •   query

•   session         •   errorHandler

•   cookieSession
what is middleware?




        回调



function (req, res) {




}
what is middleware?




请求
             回调
进入


     function (req, res) {




     }
what is middleware?




请求                            响应
             回调
进入                            发送


     function (req, res) {




     }
what is middleware?




请求                            响应
             回调
进入                            发送


     function (req, res) {




     }
what is middleware?


     query

请求                                    响应
                     回调
进入                                    发送


             function (req, res) {




             }
what is middleware?


     query

请求                                    响应
                     回调
进入                                    发送


             function (req, res) {

                 req.query 对象 ✌



             }
what is middleware?




             session
     query

请求                                       响应
                          回调
进入                                       发送


             function (req, res) {

                       req.query 对象 ✌



             }
what is middleware?




                      session
             cookie
             parser
     query

请求                                                响应
                                   回调
进入                                                发送


                      function (req, res) {

                                req.query 对象 ✌



                      }
what is middleware?




                      session
             cookie
             parser
     query

请求                                               响应
                                  回调
进入                                               发送


                      function (req, res) {

                                req.query 对象 ✌
                                req.session 对象 ✌
                                req.cookie 对象 ✌

                      }
what is middleware?




                                          compress
                      session
             cookie
             parser
     query

请求                                                   响应
                                  回调
进入                                                   发送


                      function (req, res) {

                                req.query 对象 ✌
                                req.session 对象 ✌
                                req.cookie 对象 ✌

                      }
what is middleware?




                                          compress
                      session
             cookie
             parser
     query

请求
                                  回调                 响应
                                                     发送
进入


                      function (req, res) {

                                req.query 对象 ✌
                                req.session 对象 ✌
                                req.cookie 对象 ✌

                      }
• Web   发框架
• Web 发框架
• 基于Connect
• Web 发框架
• 基于Connect
• 轻量高效, 满足日常所需
• Web 发框架
• 基于Connect
• 轻量高效, 满足日常所需
• 易扩展
• Web 发框架
• 基于Connect
• 轻量高效, 满足日常所需
• 易扩展
• 路由 Routers
动手构建
REST 风格的接口
分享平台提供的资源
分享平台提供的资源


 分享   *   分享会
分享平台提供的资源

 分享   *   分享会
分享平台提供的资源

     分享           *                   分享会




 分享会 数据模式
 {
     subject : {type:String, required:true},
     shares : [ { type: Schema.ObjectId, ref: 'share' } ],
     ...
 }
REST 特点
• 为所有“事物”定义ID
• 将所有事物链接在一起
• 使用标准方法
• 资源多重表述
• 无状态通信
Why REST

• 标准化,容易理解
• 客户端兼容
• express-resource
类 Resouseful
操作      键       HTTP方法       路径

新建     new       GET      /share/new

创建    create     POST       /share

更新    update     PUT     /share/000001

获取     show      GET     /share/000001

索引     index     GET        /share

删除     delete   DELETE   /share/000001
http://fenxiang.taobao.net
       /shareset/new
http://fenxiang.taobao.net
/share/4f44f43c0eca437223000386
http://fenxiang.taobao.net/
shareset/share_20120224
索引接口使用
http://fenxiang.taobao.net/share?size=8&sort=viewCount
索引接口使用
http://fenxiang.taobao.net/share?tags=优化
展现层
使用资源接口,将资源以一些形式展示出来
• MVC
• MVC
 • Backbone - mustache
• MVC
 • Backbone - mustache
 • 替代方案 Kissy mvc,Kissy Template
• MVC
 • Backbone - mustache
 • 替代方案 Kissy mvc,Kissy Template
• Bootstrap from twitter
• MVC
 • Backbone - mustache
 • 替代方案 Kissy mvc,Kissy Template
• Bootstrap from twitter
• LESS
版本管理
版本管理
•   git
版本管理
•   git
•   分支管理
版本管理
•   git
•   分支管理

    •   master (当前部署)
版本管理
•   git
•   分支管理

    •   master (当前部署)

    •   dev (   发分支,待部署)
版本管理
•   git
•   分支管理

    •   master (当前部署)

    •   dev (   发分支,待部署)

    •   feature1 (特性分支)
版本管理
•   git
•   分支管理

    •   master (当前部署)

    •   dev (   发分支,待部署)

    •   feature1 (特性分支)

    •   feature2 (特性分支)
版本管理
•   git
•   分支管理

    •   master (当前部署)

    •   dev (   发分支,待部署)

    •   feature1 (特性分支)

    •   feature2 (特性分支)

•   git hook 自动更新和部署
通过 hooks 自动更新和部署
#!/bin/sh
//进入部署文件夹
cd ~/ratting-app/
unset GIT_DIR
//更新文件
git pull
//安装依赖
npm install -d
//重启应用
forever restart /home/git/app/server.js
echo success...
exec git-update-server-info
UED一直以来有很好的
分享传统
我们有很多分享会
商品线-交易线分享会   一淘分享会
                UED一直以来有很好的
                分享传统
                我们有很多分享会
我们也认识到分享要
淀下来
我们也认识到分享要
淀下来
Thank you!

• 欢迎一起 发,一起来“玩”各   新技术

• 欢迎加入 N-O-D-E 群
• 分享平台期待你的分享
相                链接
•   nodejs http://nodejs.org

•   Expressjs http://expressjs.com/

•   Connect http://www.senchalabs.org/connect/

•   MongoDB http://www.mongodb.org/

•   Mongoose http://mongoosejs.com/

•   Nginx http://nginx.org/

•   momentjs http://momentjs.com

•   深入浅出REST http://www.infoq.com/cn/articles/rest-introduction

More Related Content

What's hot

OpenResty/Lua Practical Experience
OpenResty/Lua Practical ExperienceOpenResty/Lua Practical Experience
OpenResty/Lua Practical ExperienceHo Kim
 
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化Mu Chun Wang
 
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構Mu Chun Wang
 
Using armeria to write your RPC
Using armeria to write your RPCUsing armeria to write your RPC
Using armeria to write your RPCkoji lin
 
gRPC - 打造輕量、高效能的後端服務
gRPC - 打造輕量、高效能的後端服務gRPC - 打造輕量、高效能的後端服務
gRPC - 打造輕量、高效能的後端服務升煌 黃
 
Res tful api design tw-2.0
Res tful api design tw-2.0Res tful api design tw-2.0
Res tful api design tw-2.0昀陞 李
 
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用hugo
 
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践rewinx
 
那些大家常忽略的 Cache-Control
那些大家常忽略的 Cache-Control那些大家常忽略的 Cache-Control
那些大家常忽略的 Cache-ControlMu Chun Wang
 
Make your web faster
Make your web fasterMake your web faster
Make your web faster德生 谭
 
Rpc原理与实现
Rpc原理与实现Rpc原理与实现
Rpc原理与实现wavefly
 
Squid安装配置
Squid安装配置Squid安装配置
Squid安装配置Yiwei Ma
 
高性能No sql数据库redis
高性能No sql数据库redis高性能No sql数据库redis
高性能No sql数据库redispaitoubing
 
ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1medcl
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合Qiangning Hong
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡cachowu
 
Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架Cabin WJ
 

What's hot (17)

OpenResty/Lua Practical Experience
OpenResty/Lua Practical ExperienceOpenResty/Lua Practical Experience
OpenResty/Lua Practical Experience
 
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
 
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
 
Using armeria to write your RPC
Using armeria to write your RPCUsing armeria to write your RPC
Using armeria to write your RPC
 
gRPC - 打造輕量、高效能的後端服務
gRPC - 打造輕量、高效能的後端服務gRPC - 打造輕量、高效能的後端服務
gRPC - 打造輕量、高效能的後端服務
 
Res tful api design tw-2.0
Res tful api design tw-2.0Res tful api design tw-2.0
Res tful api design tw-2.0
 
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
 
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
 
那些大家常忽略的 Cache-Control
那些大家常忽略的 Cache-Control那些大家常忽略的 Cache-Control
那些大家常忽略的 Cache-Control
 
Make your web faster
Make your web fasterMake your web faster
Make your web faster
 
Rpc原理与实现
Rpc原理与实现Rpc原理与实现
Rpc原理与实现
 
Squid安装配置
Squid安装配置Squid安装配置
Squid安装配置
 
高性能No sql数据库redis
高性能No sql数据库redis高性能No sql数据库redis
高性能No sql数据库redis
 
ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
 
Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架
 

Viewers also liked

2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控
2014 Hpocon 黄慧攀   upyun - 平台架构的服务监控2014 Hpocon 黄慧攀   upyun - 平台架构的服务监控
2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控Michael Zhang
 
构建高可用数据库监控系统
构建高可用数据库监控系统构建高可用数据库监控系统
构建高可用数据库监控系统George Ang
 
Teched 2013 监和控
Teched 2013  监和控Teched 2013  监和控
Teched 2013 监和控Cheng Zhang
 
美团点评技术沙龙08 - 分布式监控系统实践
美团点评技术沙龙08 - 分布式监控系统实践美团点评技术沙龙08 - 分布式监控系统实践
美团点评技术沙龙08 - 分布式监控系统实践美团点评技术团队
 
Zabbix による監視のあれこれ
Zabbix による監視のあれこれZabbix による監視のあれこれ
Zabbix による監視のあれこれCosign930
 

Viewers also liked (8)

2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控
2014 Hpocon 黄慧攀   upyun - 平台架构的服务监控2014 Hpocon 黄慧攀   upyun - 平台架构的服务监控
2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控
 
PaaSing Your Code Around
PaaSing Your Code AroundPaaSing Your Code Around
PaaSing Your Code Around
 
构建高可用数据库监控系统
构建高可用数据库监控系统构建高可用数据库监控系统
构建高可用数据库监控系统
 
Teched 2013 监和控
Teched 2013  监和控Teched 2013  监和控
Teched 2013 监和控
 
Zabbix in PPTV
Zabbix in PPTVZabbix in PPTV
Zabbix in PPTV
 
美团点评技术沙龙08 - 分布式监控系统实践
美团点评技术沙龙08 - 分布式监控系统实践美团点评技术沙龙08 - 分布式监控系统实践
美团点评技术沙龙08 - 分布式监控系统实践
 
Zabbix による監視のあれこれ
Zabbix による監視のあれこれZabbix による監視のあれこれ
Zabbix による監視のあれこれ
 
Monitor
MonitorMonitor
Monitor
 

Similar to 分享平台构建之旅

高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践self study
 
高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用redhat9
 
Varnish简介
Varnish简介Varnish简介
Varnish简介fangdeng
 
使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统Frank Xu
 
NodeJS快速服务端开发 朝沐金风 Shanghai
NodeJS快速服务端开发 朝沐金风 ShanghaiNodeJS快速服务端开发 朝沐金风 Shanghai
NodeJS快速服务端开发 朝沐金风 ShanghaiJackson Tian
 
Yog Framework
Yog FrameworkYog Framework
Yog Frameworkfansekey
 
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕ideawu
 
实时Web的前世今生未来
实时Web的前世今生未来实时Web的前世今生未来
实时Web的前世今生未来RolfZhang
 
Node Web开发实战
Node Web开发实战Node Web开发实战
Node Web开发实战fengmk2
 
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践Node.js在淘宝的应用实践
Node.js在淘宝的应用实践taobao.com
 
Node.js长连接开发实践
Node.js长连接开发实践Node.js长连接开发实践
Node.js长连接开发实践longhao
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践Li JianYe
 
构建基于Lamp的网站架构
构建基于Lamp的网站架构构建基于Lamp的网站架构
构建基于Lamp的网站架构Cosey Lee
 
构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接 构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接 Renaun Erickson
 
Node Web开发实战
Node Web开发实战Node Web开发实战
Node Web开发实战fengmk2
 
Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储 Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储 zhen chen
 
COSCUP 2010 - node.JS 於互動式網站之應用
COSCUP 2010 - node.JS 於互動式網站之應用COSCUP 2010 - node.JS 於互動式網站之應用
COSCUP 2010 - node.JS 於互動式網站之應用ericpi Bi
 
深入淺出 Web 容器 - Tomcat 原始碼分析
深入淺出 Web 容器  - Tomcat 原始碼分析深入淺出 Web 容器  - Tomcat 原始碼分析
深入淺出 Web 容器 - Tomcat 原始碼分析Justin Lin
 
D2_Node在淘宝的应用实践
D2_Node在淘宝的应用实践D2_Node在淘宝的应用实践
D2_Node在淘宝的应用实践Jackson Tian
 

Similar to 分享平台构建之旅 (20)

高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
 
高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用
 
Varnish简介
Varnish简介Varnish简介
Varnish简介
 
使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统
 
NodeJS快速服务端开发 朝沐金风 Shanghai
NodeJS快速服务端开发 朝沐金风 ShanghaiNodeJS快速服务端开发 朝沐金风 Shanghai
NodeJS快速服务端开发 朝沐金风 Shanghai
 
Yog Framework
Yog FrameworkYog Framework
Yog Framework
 
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕
 
实时Web的前世今生未来
实时Web的前世今生未来实时Web的前世今生未来
实时Web的前世今生未来
 
Node Web开发实战
Node Web开发实战Node Web开发实战
Node Web开发实战
 
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
 
Berserk js
Berserk jsBerserk js
Berserk js
 
Node.js长连接开发实践
Node.js长连接开发实践Node.js长连接开发实践
Node.js长连接开发实践
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
 
构建基于Lamp的网站架构
构建基于Lamp的网站架构构建基于Lamp的网站架构
构建基于Lamp的网站架构
 
构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接 构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接
 
Node Web开发实战
Node Web开发实战Node Web开发实战
Node Web开发实战
 
Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储 Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储
 
COSCUP 2010 - node.JS 於互動式網站之應用
COSCUP 2010 - node.JS 於互動式網站之應用COSCUP 2010 - node.JS 於互動式網站之應用
COSCUP 2010 - node.JS 於互動式網站之應用
 
深入淺出 Web 容器 - Tomcat 原始碼分析
深入淺出 Web 容器  - Tomcat 原始碼分析深入淺出 Web 容器  - Tomcat 原始碼分析
深入淺出 Web 容器 - Tomcat 原始碼分析
 
D2_Node在淘宝的应用实践
D2_Node在淘宝的应用实践D2_Node在淘宝的应用实践
D2_Node在淘宝的应用实践
 

分享平台构建之旅

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n