Soumettre la recherche
Mettre en ligne
分享平台构建之旅
•
Télécharger en tant que KEY, PDF
•
3 j'aime
•
398 vues
T
tblanlan
Suivre
Technologie
Signaler
Partager
Signaler
Partager
1 sur 112
Télécharger maintenant
Recommandé
ByPat博客出品-高性能Web服务器nginx及相关新技术的应用
ByPat博客出品-高性能Web服务器nginx及相关新技术的应用
redhat9
Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)
振揚 陳
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
Frank Cai
高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用
redhat9
Http cache 的優化
Http cache 的優化
振揚 陳
使用 PostgreSQL 及 MongoDB 從零開始建置社群必備的按讚追蹤功能
使用 PostgreSQL 及 MongoDB 從零開始建置社群必備的按讚追蹤功能
Mu Chun Wang
Monitor is all for ops
Monitor is all for ops
琛琳 饶
DNS协议与应用简介
DNS协议与应用简介
琛琳 饶
Recommandé
ByPat博客出品-高性能Web服务器nginx及相关新技术的应用
ByPat博客出品-高性能Web服务器nginx及相关新技术的应用
redhat9
Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)
振揚 陳
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
Frank Cai
高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用
redhat9
Http cache 的優化
Http cache 的優化
振揚 陳
使用 PostgreSQL 及 MongoDB 從零開始建置社群必備的按讚追蹤功能
使用 PostgreSQL 及 MongoDB 從零開始建置社群必備的按讚追蹤功能
Mu Chun Wang
Monitor is all for ops
Monitor is all for ops
琛琳 饶
DNS协议与应用简介
DNS协议与应用简介
琛琳 饶
OpenResty/Lua Practical Experience
OpenResty/Lua Practical Experience
Ho Kim
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
Mu Chun Wang
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
Mu Chun Wang
Using armeria to write your RPC
Using armeria to write your RPC
koji lin
gRPC - 打造輕量、高效能的後端服務
gRPC - 打造輕量、高效能的後端服務
升煌 黃
Res tful api design tw-2.0
Res tful api design tw-2.0
昀陞 李
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
hugo
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
rewinx
那些大家常忽略的 Cache-Control
那些大家常忽略的 Cache-Control
Mu Chun Wang
Make your web faster
Make your web faster
德生 谭
Rpc原理与实现
Rpc原理与实现
wavefly
Squid安装配置
Squid安装配置
Yiwei Ma
高性能No sql数据库redis
高性能No sql数据库redis
paitoubing
ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1
medcl
合久必分,分久必合
合久必分,分久必合
Qiangning Hong
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
cachowu
Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架
Cabin WJ
2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控
2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控
Michael Zhang
PaaSing Your Code Around
PaaSing Your Code Around
Chris Tankersley
构建高可用数据库监控系统
构建高可用数据库监控系统
George Ang
Teched 2013 监和控
Teched 2013 监和控
Cheng Zhang
Zabbix in PPTV
Zabbix in PPTV
ViSenze - Artificial Intelligence for the Visual Web
Contenu connexe
Tendances
OpenResty/Lua Practical Experience
OpenResty/Lua Practical Experience
Ho Kim
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
Mu Chun Wang
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
Mu Chun Wang
Using armeria to write your RPC
Using armeria to write your RPC
koji lin
gRPC - 打造輕量、高效能的後端服務
gRPC - 打造輕量、高效能的後端服務
升煌 黃
Res tful api design tw-2.0
Res tful api design tw-2.0
昀陞 李
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
hugo
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
rewinx
那些大家常忽略的 Cache-Control
那些大家常忽略的 Cache-Control
Mu Chun Wang
Make your web faster
Make your web faster
德生 谭
Rpc原理与实现
Rpc原理与实现
wavefly
Squid安装配置
Squid安装配置
Yiwei Ma
高性能No sql数据库redis
高性能No sql数据库redis
paitoubing
ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1
medcl
合久必分,分久必合
合久必分,分久必合
Qiangning Hong
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
cachowu
Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架
Cabin WJ
Tendances
(17)
OpenResty/Lua Practical Experience
OpenResty/Lua Practical Experience
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
Using armeria to write your RPC
Using armeria to write your RPC
gRPC - 打造輕量、高效能的後端服務
gRPC - 打造輕量、高效能的後端服務
Res tful api design tw-2.0
Res tful api design tw-2.0
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
那些大家常忽略的 Cache-Control
那些大家常忽略的 Cache-Control
Make your web faster
Make your web faster
Rpc原理与实现
Rpc原理与实现
Squid安装配置
Squid安装配置
高性能No sql数据库redis
高性能No sql数据库redis
ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1
合久必分,分久必合
合久必分,分久必合
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架
En vedette
2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控
2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控
Michael Zhang
PaaSing Your Code Around
PaaSing Your Code Around
Chris Tankersley
构建高可用数据库监控系统
构建高可用数据库监控系统
George Ang
Teched 2013 监和控
Teched 2013 监和控
Cheng Zhang
Zabbix in PPTV
Zabbix in PPTV
ViSenze - Artificial Intelligence for the Visual Web
美团点评技术沙龙08 - 分布式监控系统实践
美团点评技术沙龙08 - 分布式监控系统实践
美团点评技术团队
Zabbix による監視のあれこれ
Zabbix による監視のあれこれ
Cosign930
Monitor
Monitor
daniieMS
En vedette
(8)
2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控
2014 Hpocon 黄慧攀 upyun - 平台架构的服务监控
PaaSing Your Code Around
PaaSing Your Code Around
构建高可用数据库监控系统
构建高可用数据库监控系统
Teched 2013 监和控
Teched 2013 监和控
Zabbix in PPTV
Zabbix in PPTV
美团点评技术沙龙08 - 分布式监控系统实践
美团点评技术沙龙08 - 分布式监控系统实践
Zabbix による監視のあれこれ
Zabbix による監視のあれこれ
Monitor
Monitor
Similaire à 分享平台构建之旅
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
self study
高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用
redhat9
Varnish简介
Varnish简介
fangdeng
使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统
Frank Xu
NodeJS快速服务端开发 朝沐金风 Shanghai
NodeJS快速服务端开发 朝沐金风 Shanghai
Jackson Tian
Yog Framework
Yog Framework
fansekey
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕
ideawu
实时Web的前世今生未来
实时Web的前世今生未来
RolfZhang
Node Web开发实战
Node Web开发实战
fengmk2
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
taobao.com
Berserk js
Berserk js
taobao.com
Node.js长连接开发实践
Node.js长连接开发实践
longhao
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
Li JianYe
构建基于Lamp的网站架构
构建基于Lamp的网站架构
Cosey Lee
构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接
Renaun Erickson
Node Web开发实战
Node Web开发实战
fengmk2
Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储
zhen chen
COSCUP 2010 - node.JS 於互動式網站之應用
COSCUP 2010 - node.JS 於互動式網站之應用
ericpi Bi
深入淺出 Web 容器 - Tomcat 原始碼分析
深入淺出 Web 容器 - Tomcat 原始碼分析
Justin Lin
D2_Node在淘宝的应用实践
D2_Node在淘宝的应用实践
Jackson Tian
Similaire à 分享平台构建之旅
(20)
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用
Varnish简介
Varnish简介
使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统
NodeJS快速服务端开发 朝沐金风 Shanghai
NodeJS快速服务端开发 朝沐金风 Shanghai
Yog Framework
Yog Framework
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕
实时Web的前世今生未来
实时Web的前世今生未来
Node Web开发实战
Node Web开发实战
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
Berserk js
Berserk js
Node.js长连接开发实践
Node.js长连接开发实践
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
构建基于Lamp的网站架构
构建基于Lamp的网站架构
构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接
Node Web开发实战
Node Web开发实战
Ria的强力后盾:rest+海量存储
Ria的强力后盾:rest+海量存储
COSCUP 2010 - node.JS 於互動式網站之應用
COSCUP 2010 - node.JS 於互動式網站之應用
深入淺出 Web 容器 - Tomcat 原始碼分析
深入淺出 Web 容器 - Tomcat 原始碼分析
D2_Node在淘宝的应用实践
D2_Node在淘宝的应用实践
分享平台构建之旅
1.
独爽不如众乐 分享平台构建之旅
2.
文龙@maxbbn 交易&新业务 评价
3.
fenxiang.taobao.net
4.
服务器端
5.
服务器端 • 应用服务器 • 前端服务器
6.
服务器端 • 应用服务器 • 前端服务器
7.
服务器端 • 应用服务器 • 前端服务器
8.
NodeJS, 啥?
9.
NodeJS, 啥? • server-side
V8
10.
NodeJS, 啥? • server-side
V8 • event-driven 事件驱动
11.
NodeJS, 啥? • server-side
V8 • event-driven 事件驱动 • non-blocking I/O 无阻塞的IO
12.
NodeJS, 啥? • server-side
V8 • event-driven 事件驱动 • non-blocking I/O 无阻塞的IO • single threaded, efficient 单线程
13.
NodeJS, 啥? • server-side
V8 • event-driven 事件驱动 • non-blocking I/O 无阻塞的IO • single threaded, efficient 单线程 • freaking fast 真XX快
14.
不擅长的 • 发送大量静态文件 • 密集的计算(use
Worker)
15.
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/');
16.
Nginx, Who?
17.
Nginx, Who? •
HTTP 和 反向代理 服务器
18.
Nginx, Who? •
HTTP 和 反向代理 服务器 • IMAP/POP3/SMTP 代理服务器
19.
Nginx, Who? •
HTTP 和 反向代理 服务器 • IMAP/POP3/SMTP 代理服务器 • Non-Blocking 无阻塞
20.
Nginx, Who? •
HTTP 和 反向代理 服务器 • IMAP/POP3/SMTP 代理服务器 • Non-Blocking 无阻塞 • Event-Driven 事件驱动
21.
Nginx, Who? •
HTTP 和 反向代理 服务器 • IMAP/POP3/SMTP 代理服务器 • Non-Blocking 无阻塞 • Event-Driven 事件驱动 • Single threaded 单线程
22.
Nginx, Who? •
HTTP 和 反向代理 服务器 • IMAP/POP3/SMTP 代理服务器 • Non-Blocking 无阻塞 • Event-Driven 事件驱动 • Single threaded 单线程 • Resource efficient 高效
23.
Nginx, Who? •
HTTP 和 反向代理 服务器 • IMAP/POP3/SMTP 代理服务器 • Non-Blocking 无阻塞 • Event-Driven 事件驱动 • Single threaded 单线程 • Resource efficient 高效 • Highly modular 高度模块化
24.
Work Together
25.
Work Together
fenxinag.taobao.net
26.
Work Together
fenxinag.taobao.net
27.
Work Together
fenxinag.taobao.net :80
28.
Work Together
fenxinag.taobao.net :80 Nginx
29.
Work Together
fenxinag.taobao.net :80 Nginx
30.
Work Together
fenxinag.taobao.net :80 Nginx proxy to:8000
31.
Work Together
fenxinag.taobao.net :80 Nginx proxy to:8000 NodeJS Server
32.
Work Together
fenxinag.taobao.net :80 Nginx proxy to:8000 NodeJS Server
33.
Work Together
fenxinag.taobao.net :80 Nginx proxy to:8000 NodeJS Server
34.
Work Together
fenxinag.taobao.net :80 Static Nginx File proxy to:8000 NodeJS Server
35.
Work Together
fenxinag.taobao.net :80 Static Nginx File proxy to:8000 NodeJS Server
36.
Work Together
fenxinag.taobao.net :80 Static Nginx File proxy to:8000 NodeJS Server
37.
配置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; } }
38.
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; } }
39.
数据库
40.
星系 发的故事
41.
• noSQL |
Document Based 文档型数据库 星系 发的故事
42.
• noSQL |
Document Based 文档型数据库 • store in JSON; query in json. 星系 发的故事
43.
• noSQL |
Document Based 文档型数据库 • store in JSON; query in json. • Speak Javascript 不说鸟语 星系 发的故事
44.
VS
45.
VS • 都特XX快
46.
VS • 都特XX快 • 都说
Javascript
47.
VS • 都特XX快 • 都说
Javascript • 都喜欢 JSON
48.
VS • 都特XX快 • 都说
Javascript • 都喜欢 JSON • 都是前端的好朋友
49.
诺德和
哥
50.
诺德和
哥 N M
51.
Web framework
52.
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 。
53.
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 。
54.
Connect • 中间件框架 • 内置多达18个中间件 •
精选第三方插件
55.
•
logger • methodOverride • csrf • responseTime • compress • staticCache • basicAuth • static • bodyParser • directory • json • vhost • urlencoded • favicon • multipart • limit • cookieParser • query • session • errorHandler • cookieSession
56.
what is middleware?
回调 function (req, res) { }
57.
what is middleware? 请求
回调 进入 function (req, res) { }
58.
what is middleware? 请求
响应 回调 进入 发送 function (req, res) { }
59.
what is middleware? 请求
响应 回调 进入 发送 function (req, res) { }
60.
what is middleware?
query 请求 响应 回调 进入 发送 function (req, res) { }
61.
what is middleware?
query 请求 响应 回调 进入 发送 function (req, res) { req.query 对象 ✌ }
62.
what is middleware?
session query 请求 响应 回调 进入 发送 function (req, res) { req.query 对象 ✌ }
63.
what is middleware?
session cookie parser query 请求 响应 回调 进入 发送 function (req, res) { req.query 对象 ✌ }
64.
what is middleware?
session cookie parser query 请求 响应 回调 进入 发送 function (req, res) { req.query 对象 ✌ req.session 对象 ✌ req.cookie 对象 ✌ }
65.
what is middleware?
compress session cookie parser query 请求 响应 回调 进入 发送 function (req, res) { req.query 对象 ✌ req.session 对象 ✌ req.cookie 对象 ✌ }
66.
what is middleware?
compress session cookie parser query 请求 回调 响应 发送 进入 function (req, res) { req.query 对象 ✌ req.session 对象 ✌ req.cookie 对象 ✌ }
67.
68.
• Web
发框架
69.
• Web 发框架 •
基于Connect
70.
• Web 发框架 •
基于Connect • 轻量高效, 满足日常所需
71.
• Web 发框架 •
基于Connect • 轻量高效, 满足日常所需 • 易扩展
72.
• Web 发框架 •
基于Connect • 轻量高效, 满足日常所需 • 易扩展 • 路由 Routers
73.
动手构建
74.
REST 风格的接口
75.
分享平台提供的资源
76.
分享平台提供的资源 分享
* 分享会
77.
分享平台提供的资源 分享
* 分享会
78.
分享平台提供的资源
分享 * 分享会 分享会 数据模式 { subject : {type:String, required:true}, shares : [ { type: Schema.ObjectId, ref: 'share' } ], ... }
79.
REST 特点 • 为所有“事物”定义ID •
将所有事物链接在一起 • 使用标准方法 • 资源多重表述 • 无状态通信
80.
Why REST • 标准化,容易理解 •
客户端兼容 • express-resource
81.
类 Resouseful 操作
键 HTTP方法 路径 新建 new GET /share/new 创建 create POST /share 更新 update PUT /share/000001 获取 show GET /share/000001 索引 index GET /share 删除 delete DELETE /share/000001
82.
http://fenxiang.taobao.net
/shareset/new
83.
http://fenxiang.taobao.net /share/4f44f43c0eca437223000386
84.
http://fenxiang.taobao.net/ shareset/share_20120224
85.
索引接口使用 http://fenxiang.taobao.net/share?size=8&sort=viewCount
86.
索引接口使用 http://fenxiang.taobao.net/share?tags=优化
87.
展现层 使用资源接口,将资源以一些形式展示出来
88.
89.
• MVC
90.
• MVC •
Backbone - mustache
91.
• MVC •
Backbone - mustache • 替代方案 Kissy mvc,Kissy Template
92.
• MVC •
Backbone - mustache • 替代方案 Kissy mvc,Kissy Template • Bootstrap from twitter
93.
• MVC •
Backbone - mustache • 替代方案 Kissy mvc,Kissy Template • Bootstrap from twitter • LESS
94.
95.
版本管理
96.
版本管理 •
git
97.
版本管理 •
git • 分支管理
98.
版本管理 •
git • 分支管理 • master (当前部署)
99.
版本管理 •
git • 分支管理 • master (当前部署) • dev ( 发分支,待部署)
100.
版本管理 •
git • 分支管理 • master (当前部署) • dev ( 发分支,待部署) • feature1 (特性分支)
101.
版本管理 •
git • 分支管理 • master (当前部署) • dev ( 发分支,待部署) • feature1 (特性分支) • feature2 (特性分支)
102.
版本管理 •
git • 分支管理 • master (当前部署) • dev ( 发分支,待部署) • feature1 (特性分支) • feature2 (特性分支) • git hook 自动更新和部署
103.
通过 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
104.
UED一直以来有很好的 分享传统 我们有很多分享会
105.
商品线-交易线分享会
一淘分享会 UED一直以来有很好的 分享传统 我们有很多分享会
106.
我们也认识到分享要 淀下来
107.
我们也认识到分享要 淀下来
108.
109.
110.
111.
Thank you! • 欢迎一起
发,一起来“玩”各 新技术 • 欢迎加入 N-O-D-E 群 • 分享平台期待你的分享
112.
相
链接 • 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
Notes de l'éditeur
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Télécharger maintenant