Soumettre la recherche
Mettre en ligne
Tornado开发实践
•
6 j'aime
•
3,406 vues
ZY Zhang
Suivre
Tornado Development In Practice
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 26
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
基于Tornado后端系统架构暨最佳实践
基于Tornado后端系统架构暨最佳实践
ZY Zhang
Python小团队不妨知道的技术
Python小团队不妨知道的技术
jie.wang
Node.js從無到有 基本課程
Node.js從無到有 基本課程
Simon Su
Node.js 淺談socket.io
Node.js 淺談socket.io
Simon Su
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介
GO LL
Understand ovirt
Understand ovirt
Li Jiansheng
Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹
wantingj
Koa 正在等一個人
Koa 正在等一個人
Fred Chien
Recommandé
基于Tornado后端系统架构暨最佳实践
基于Tornado后端系统架构暨最佳实践
ZY Zhang
Python小团队不妨知道的技术
Python小团队不妨知道的技术
jie.wang
Node.js從無到有 基本課程
Node.js從無到有 基本課程
Simon Su
Node.js 淺談socket.io
Node.js 淺談socket.io
Simon Su
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介
GO LL
Understand ovirt
Understand ovirt
Li Jiansheng
Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹
wantingj
Koa 正在等一個人
Koa 正在等一個人
Fred Chien
twMVC#43 YARP
twMVC#43 YARP
twMVC
Nodejs introduce - using Socket.io
Nodejs introduce - using Socket.io
Caesar Chi
pyspider 介绍 - pycon2014@北京
pyspider 介绍 - pycon2014@北京
roybinux
Google IoT Core 初體驗
Google IoT Core 初體驗
Simon Su
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出
Eric Xiao
Node js实践
Node js实践
jay li
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧
twMVC
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC
twMVC#41 The journey of source generator
twMVC#41 The journey of source generator
twMVC
Node.js长连接开发实践
Node.js长连接开发实践
longhao
學好 node.js 不可不知的事
學好 node.js 不可不知的事
Ben Lue
Java API for WebSocket 實作介紹
Java API for WebSocket 實作介紹
My own sweet home!
twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解
twMVC
2012 php conf slide PIXNET 如何使用 php
2012 php conf slide PIXNET 如何使用 php
ronnywang_tw
PHP 應用之一 socket funion : 偽 WEB Server
PHP 應用之一 socket funion : 偽 WEB Server
志賢 黃
twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹
twMVC
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
Will Huang
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC
Node.js 進攻桌面開發
Node.js 進攻桌面開發
Fred Chien
用最潮的 Java script 盡情開發 kde qt 程式
用最潮的 Java script 盡情開發 kde qt 程式
Fred Chien
Mao arduino
Mao arduino
Mao Wu
Amazon SES 正確及不正確使用經驗 from 電子豹
Amazon SES 正確及不正確使用經驗 from 電子豹
Louis Chang
Contenu connexe
Tendances
twMVC#43 YARP
twMVC#43 YARP
twMVC
Nodejs introduce - using Socket.io
Nodejs introduce - using Socket.io
Caesar Chi
pyspider 介绍 - pycon2014@北京
pyspider 介绍 - pycon2014@北京
roybinux
Google IoT Core 初體驗
Google IoT Core 初體驗
Simon Su
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出
Eric Xiao
Node js实践
Node js实践
jay li
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧
twMVC
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC
twMVC#41 The journey of source generator
twMVC#41 The journey of source generator
twMVC
Node.js长连接开发实践
Node.js长连接开发实践
longhao
學好 node.js 不可不知的事
學好 node.js 不可不知的事
Ben Lue
Java API for WebSocket 實作介紹
Java API for WebSocket 實作介紹
My own sweet home!
twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解
twMVC
2012 php conf slide PIXNET 如何使用 php
2012 php conf slide PIXNET 如何使用 php
ronnywang_tw
PHP 應用之一 socket funion : 偽 WEB Server
PHP 應用之一 socket funion : 偽 WEB Server
志賢 黃
twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹
twMVC
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
Will Huang
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC
Node.js 進攻桌面開發
Node.js 進攻桌面開發
Fred Chien
用最潮的 Java script 盡情開發 kde qt 程式
用最潮的 Java script 盡情開發 kde qt 程式
Fred Chien
Tendances
(20)
twMVC#43 YARP
twMVC#43 YARP
Nodejs introduce - using Socket.io
Nodejs introduce - using Socket.io
pyspider 介绍 - pycon2014@北京
pyspider 介绍 - pycon2014@北京
Google IoT Core 初體驗
Google IoT Core 初體驗
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出
Node js实践
Node js实践
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#41 The journey of source generator
twMVC#41 The journey of source generator
Node.js长连接开发实践
Node.js长连接开发实践
學好 node.js 不可不知的事
學好 node.js 不可不知的事
Java API for WebSocket 實作介紹
Java API for WebSocket 實作介紹
twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解
2012 php conf slide PIXNET 如何使用 php
2012 php conf slide PIXNET 如何使用 php
PHP 應用之一 socket funion : 偽 WEB Server
PHP 應用之一 socket funion : 偽 WEB Server
twMVC#43 C#10 新功能介紹
twMVC#43 C#10 新功能介紹
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops)
Node.js 進攻桌面開發
Node.js 進攻桌面開發
用最潮的 Java script 盡情開發 kde qt 程式
用最潮的 Java script 盡情開發 kde qt 程式
En vedette
Mao arduino
Mao arduino
Mao Wu
Amazon SES 正確及不正確使用經驗 from 電子豹
Amazon SES 正確及不正確使用經驗 from 電子豹
Louis Chang
Empathy Map on School-to-Work Transition in Nigeria
Empathy Map on School-to-Work Transition in Nigeria
Ukot Umezinne
Misura dell'inquinamento luminoso del cielo notturno di Asiago / Measurement ...
Misura dell'inquinamento luminoso del cielo notturno di Asiago / Measurement ...
Anna Vedovato
Ibn quant research & analysis service 2015
Ibn quant research & analysis service 2015
IBN Technologies Limited
Importance of writing
Importance of writing
Nick Vonder Illin
20 58-1-pb
20 58-1-pb
devioga
Untitled Presentation
Untitled Presentation
Natalia González
Región andina
Región andina
juanandresk
Deschambault[1]
Deschambault[1]
Richard Deschambault
5 reasons to hire a virtual cfo
5 reasons to hire a virtual cfo
IBN Technologies Limited
Final project ppt
Final project ppt
BanLan
חלב עובדות או מיתוסים אלבום הפרסומים השלם
חלב עובדות או מיתוסים אלבום הפרסומים השלם
Jonathan Amir
חלב עובדות או מיתוסים - קמפיין תגובה למועצת החלב
חלב עובדות או מיתוסים - קמפיין תגובה למועצת החלב
Jonathan Amir
Penis shop
Penis shop
pressgodd
Panduan qiamullail ramadhan rev1
Panduan qiamullail ramadhan rev1
Adrin Pandurama
Bathory1 196
Bathory1 196
margit bérczi
Administracion y crecimiento
Administracion y crecimiento
Jhussepy Mendoza Ruiz
Alcoholism
Alcoholism
Shalini John
Panduan qiamullail ramadhan
Panduan qiamullail ramadhan
Adrin Pandurama
En vedette
(20)
Mao arduino
Mao arduino
Amazon SES 正確及不正確使用經驗 from 電子豹
Amazon SES 正確及不正確使用經驗 from 電子豹
Empathy Map on School-to-Work Transition in Nigeria
Empathy Map on School-to-Work Transition in Nigeria
Misura dell'inquinamento luminoso del cielo notturno di Asiago / Measurement ...
Misura dell'inquinamento luminoso del cielo notturno di Asiago / Measurement ...
Ibn quant research & analysis service 2015
Ibn quant research & analysis service 2015
Importance of writing
Importance of writing
20 58-1-pb
20 58-1-pb
Untitled Presentation
Untitled Presentation
Región andina
Región andina
Deschambault[1]
Deschambault[1]
5 reasons to hire a virtual cfo
5 reasons to hire a virtual cfo
Final project ppt
Final project ppt
חלב עובדות או מיתוסים אלבום הפרסומים השלם
חלב עובדות או מיתוסים אלבום הפרסומים השלם
חלב עובדות או מיתוסים - קמפיין תגובה למועצת החלב
חלב עובדות או מיתוסים - קמפיין תגובה למועצת החלב
Penis shop
Penis shop
Panduan qiamullail ramadhan rev1
Panduan qiamullail ramadhan rev1
Bathory1 196
Bathory1 196
Administracion y crecimiento
Administracion y crecimiento
Alcoholism
Alcoholism
Panduan qiamullail ramadhan
Panduan qiamullail ramadhan
Similaire à Tornado开发实践
Ryu Learning Guide
Ryu Learning Guide
呈 李
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐
zhangsuoyong
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Dahui Feng
用简单语言构建复杂系统
用简单语言构建复杂系统
Leo Zhou
Openshift by mtchang
Openshift by mtchang
Chang Mt
資訊創意課程 - Create A Personal Website 1
資訊創意課程 - Create A Personal Website 1
均民 戴
Html5
Html5
cazhfe
Outside
Outside
Rhythm Sun
KSDG Python and MongoDB for web
KSDG Python and MongoDB for web
Toomore
Docker容器微服務 x WorkShop
Docker容器微服務 x WorkShop
Philip Zheng
Webrtc
Webrtc
libfetion
Lean Message Architecture Highlights
Lean Message Architecture Highlights
sunng87
LeanMessage 实时通信云架构
LeanMessage 实时通信云架构
wenny yuan
Web开发基础
Web开发基础
dynaturtle
HTML5 实战 WebApp 阅读应用– Shiu
HTML5 实战 WebApp 阅读应用– Shiu
Jingchao Di
Guide to GStreamer Application Development Manual: CH1 to CH10
Guide to GStreamer Application Development Manual: CH1 to CH10
Wen Liao
Git 入门实战
Git 入门实战
icy leaf
Python 于 webgame 的应用
Python 于 webgame 的应用
勇浩 赖
Hongxing
Hongxing
ncmooc
Android消息推送实现 | 友盟 徐仙明
Android消息推送实现 | 友盟 徐仙明
imShining @DevCamp
Similaire à Tornado开发实践
(20)
Ryu Learning Guide
Ryu Learning Guide
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
用简单语言构建复杂系统
用简单语言构建复杂系统
Openshift by mtchang
Openshift by mtchang
資訊創意課程 - Create A Personal Website 1
資訊創意課程 - Create A Personal Website 1
Html5
Html5
Outside
Outside
KSDG Python and MongoDB for web
KSDG Python and MongoDB for web
Docker容器微服務 x WorkShop
Docker容器微服務 x WorkShop
Webrtc
Webrtc
Lean Message Architecture Highlights
Lean Message Architecture Highlights
LeanMessage 实时通信云架构
LeanMessage 实时通信云架构
Web开发基础
Web开发基础
HTML5 实战 WebApp 阅读应用– Shiu
HTML5 实战 WebApp 阅读应用– Shiu
Guide to GStreamer Application Development Manual: CH1 to CH10
Guide to GStreamer Application Development Manual: CH1 to CH10
Git 入门实战
Git 入门实战
Python 于 webgame 的应用
Python 于 webgame 的应用
Hongxing
Hongxing
Android消息推送实现 | 友盟 徐仙明
Android消息推送实现 | 友盟 徐仙明
Tornado开发实践
1.
tornado开发实践 twitter: @bf4x github: @bufferx
2.
简介 ● written in
Python ● non-blocking ● event driven, base on epoll in linux ● lightweight
3.
由来 ● friendfeed[http://friendfeed.com/] ● 多人在线实时服务 ●
facebook
4.
开源 ● github[https://github.com/facebook/tornado] ● main
contributor[https://github.com/bdarnell] ● latest stable version: 3.0.1 ● 3years ● 1000+ commits ● issues, open:, close: 728 ● pull requests, open: 25, close: 780
5.
应用场景 HTTPSERVER ● Long Polling/COMET服务 ●
WebSockets ● 接口服务
6.
应用场景 Async Client ● 与存储服务的异步IO (Mongo/Redis/Memcached/...) ●
基于HTTP的异步下载(HTTPCLIENT) ● Long Lived Connection ● 移动推送服务
7.
项目实践 ● 10+关键路径服务 ● 机票/酒店/度假/图片等
8.
项目实践 ● 接口服务 ● 与多种后端服务交互,如 memcached/mongodb/redis/httpserver
9.
技术特性 ● 进程级缓存 ● 与后端网络服务的异步交互 ●
协程/装饰器
10.
环境搭建 ● virtualenv ● supervisord ●
nginx
11.
IBE系统 Apache Benchmark(connection=20000) 单进程单实例
数据
12.
开源 ● github[https://github.com/bufferx/twork] ● 25
commits twork
13.
● MVC风格 ● 一个Tornado接口服务DEMO ●
技术特性示例 ● 通用库支持(已分拆) twork
14.
Tornado源码 核心 ● IOLoop ● IOStream
15.
Tornado源码 关键点 ● Stack Context ●
Coroutine ● Decorator ● tornado.gen
16.
Tornado二次开发 ● 网络IO相关 ● 基于IOLoop ●
基于IOStream
17.
Tornado二次开发 ● asyncmongo[https://github.com/bitly/asyncmongo] ● Motor[http://github.com/mongodb/motor/] ●
brukva(redis)[https://github.com/evilkost/brukva] ● memcache[https://github.com/dpnova/tornado- memcache] ● tornado-celery[https://github. com/mher/tornado-celery] ● Spyder[http://retresco.github.com/Spyder/] ● 其它
18.
Tornado二次开发 ● KPNS Base
On KMPP
19.
调优 ● 充分利用多核
20.
调优 ● python语言级 ○ 列表包含/生成器表达式/协程/闭包等 ○
使用装饰器 ○ 使用__slots__ ○ 避免使用(.)运算符 ○ ...
21.
调优 ● C扩展 ○ Python
C Extension ○ Swig
22.
调优 ● pypy ● twice
times
23.
不足 ● GIL的原因, CPython多线程时不能充分利用 多核
24.
注意 ● 单进程单线程, 切忌阻塞操作
25.
who use ● facebook ●
10gen ● bitly ● quora ● zhihu ● admaster ● sae ● ...
26.
Thanks
Télécharger maintenant