Enviar pesquisa
Carregar
Thrift
•
Transferir como PPTX, PDF
•
0 gostou
•
812 visualizações
jiaqing zheng
Seguir
Tecnologia
Notícias e política
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 28
Baixar agora
Recomendados
Nodejs异步原理和缺陷 - 赵成
Nodejs异步原理和缺陷 - 赵成
Jackson Tian
Blend4web研究--代码结构
Blend4web研究--代码结构
gastrodia
Nodejs部门分享
Nodejs部门分享
zffl
Brainfuck interpreter 分析新竹碼農0307
Brainfuck interpreter 分析新竹碼農0307
Xatierlike Lee
Js闭包
Js闭包
keke302
recover_pdb 原理與介紹
recover_pdb 原理與介紹
kao kuo-tung
Asp.net 介绍
Asp.net 介绍
yifeng
Jdbc中操作Blob、Clob等对象
Jdbc中操作Blob、Clob等对象
yiditushe
Recomendados
Nodejs异步原理和缺陷 - 赵成
Nodejs异步原理和缺陷 - 赵成
Jackson Tian
Blend4web研究--代码结构
Blend4web研究--代码结构
gastrodia
Nodejs部门分享
Nodejs部门分享
zffl
Brainfuck interpreter 分析新竹碼農0307
Brainfuck interpreter 分析新竹碼農0307
Xatierlike Lee
Js闭包
Js闭包
keke302
recover_pdb 原理與介紹
recover_pdb 原理與介紹
kao kuo-tung
Asp.net 介绍
Asp.net 介绍
yifeng
Jdbc中操作Blob、Clob等对象
Jdbc中操作Blob、Clob等对象
yiditushe
Old Greens Vs Almost
Old Greens Vs Almost
paobazzi
Crew, Foia, Documents 008692 - 008793
Crew, Foia, Documents 008692 - 008793
Obama White House
Crew, Foia, Documents 011528 - 011622
Crew, Foia, Documents 011528 - 011622
Obama White House
SADI SWSIP '09 'cause you can't always GET what you want!
SADI SWSIP '09 'cause you can't always GET what you want!
Mark Wilkinson
Rest In Peace Tribute Tour 7 23 09
Rest In Peace Tribute Tour 7 23 09
pageway
F I L O S O F I A2
F I L O S O F I A2
filosoficos01
Social Story Roshen
Social Story Roshen
guest4e0e609e
Ms.Nl.9031 Smoelenboek Wpc Final2
Ms.Nl.9031 Smoelenboek Wpc Final2
Renataadelino
Crm User Training Chinese
Crm User Training Chinese
huluboy social marketing
La apatía
La apatía
campir
21st Century Skills Pp
21st Century Skills Pp
heyjohnreese
Websense Hosted Email Security
Websense Hosted Email Security
fartur
Supervision - Replacing Carrots and Sticks
Supervision - Replacing Carrots and Sticks
psalvet
ARGUS - THE OMNISCIENT CI
ARGUS - THE OMNISCIENT CI
Cosmin Poieana
What google tells_you
What google tells_you
bwebster719
Almost vs San Juan2009
Almost vs San Juan2009
paobazzi
4826 201211071011
4826 201211071011
Anita S
Internet Pr
Internet Pr
PRT
Crew, Foia, Documents 008159 - 008236
Crew, Foia, Documents 008159 - 008236
Obama White House
Crew documents 020334 - 020392
Crew documents 020334 - 020392
Obama White House
Accelerating or Complicating PHP execution by LLVM Compiler Infrastructure
Accelerating or Complicating PHP execution by LLVM Compiler Infrastructure
National Cheng Kung University
Rpc原理与实现
Rpc原理与实现
wavefly
Mais conteúdo relacionado
Destaque
Old Greens Vs Almost
Old Greens Vs Almost
paobazzi
Crew, Foia, Documents 008692 - 008793
Crew, Foia, Documents 008692 - 008793
Obama White House
Crew, Foia, Documents 011528 - 011622
Crew, Foia, Documents 011528 - 011622
Obama White House
SADI SWSIP '09 'cause you can't always GET what you want!
SADI SWSIP '09 'cause you can't always GET what you want!
Mark Wilkinson
Rest In Peace Tribute Tour 7 23 09
Rest In Peace Tribute Tour 7 23 09
pageway
F I L O S O F I A2
F I L O S O F I A2
filosoficos01
Social Story Roshen
Social Story Roshen
guest4e0e609e
Ms.Nl.9031 Smoelenboek Wpc Final2
Ms.Nl.9031 Smoelenboek Wpc Final2
Renataadelino
Crm User Training Chinese
Crm User Training Chinese
huluboy social marketing
La apatía
La apatía
campir
21st Century Skills Pp
21st Century Skills Pp
heyjohnreese
Websense Hosted Email Security
Websense Hosted Email Security
fartur
Supervision - Replacing Carrots and Sticks
Supervision - Replacing Carrots and Sticks
psalvet
ARGUS - THE OMNISCIENT CI
ARGUS - THE OMNISCIENT CI
Cosmin Poieana
What google tells_you
What google tells_you
bwebster719
Almost vs San Juan2009
Almost vs San Juan2009
paobazzi
4826 201211071011
4826 201211071011
Anita S
Internet Pr
Internet Pr
PRT
Crew, Foia, Documents 008159 - 008236
Crew, Foia, Documents 008159 - 008236
Obama White House
Crew documents 020334 - 020392
Crew documents 020334 - 020392
Obama White House
Destaque
(20)
Old Greens Vs Almost
Old Greens Vs Almost
Crew, Foia, Documents 008692 - 008793
Crew, Foia, Documents 008692 - 008793
Crew, Foia, Documents 011528 - 011622
Crew, Foia, Documents 011528 - 011622
SADI SWSIP '09 'cause you can't always GET what you want!
SADI SWSIP '09 'cause you can't always GET what you want!
Rest In Peace Tribute Tour 7 23 09
Rest In Peace Tribute Tour 7 23 09
F I L O S O F I A2
F I L O S O F I A2
Social Story Roshen
Social Story Roshen
Ms.Nl.9031 Smoelenboek Wpc Final2
Ms.Nl.9031 Smoelenboek Wpc Final2
Crm User Training Chinese
Crm User Training Chinese
La apatía
La apatía
21st Century Skills Pp
21st Century Skills Pp
Websense Hosted Email Security
Websense Hosted Email Security
Supervision - Replacing Carrots and Sticks
Supervision - Replacing Carrots and Sticks
ARGUS - THE OMNISCIENT CI
ARGUS - THE OMNISCIENT CI
What google tells_you
What google tells_you
Almost vs San Juan2009
Almost vs San Juan2009
4826 201211071011
4826 201211071011
Internet Pr
Internet Pr
Crew, Foia, Documents 008159 - 008236
Crew, Foia, Documents 008159 - 008236
Crew documents 020334 - 020392
Crew documents 020334 - 020392
Semelhante a Thrift
Accelerating or Complicating PHP execution by LLVM Compiler Infrastructure
Accelerating or Complicating PHP execution by LLVM Compiler Infrastructure
National Cheng Kung University
Rpc原理与实现
Rpc原理与实现
wavefly
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7
javatwo2011
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
Feng Yu
Bluemix Node-Red Part I
Bluemix Node-Red Part I
Joseph Chang
Hcsm lect-20120913
Hcsm lect-20120913
lusecheng
Google protocol buffers简析
Google protocol buffers简析
wavefly
Linux c++ 编程之链接与装载 -基础篇--v0.3--20120509
Linux c++ 编程之链接与装载 -基础篇--v0.3--20120509
tidesq
Introduction to C++ over CLI
Introduction to C++ over CLI
建興 王
LLVM introduction
LLVM introduction
National Cheng Kung University
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术团队
Baidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log Analysis
Xiaoming Chen
Effective.enterprise.java中文版
Effective.enterprise.java中文版
Peter Fan
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发
leneli
深入浅出Netty l.t
深入浅出Netty l.t
oleone
Hbase在淘宝的应用与优化 修改
Hbase在淘宝的应用与优化 修改
yp_fangdong
System verilog简介
System verilog简介
wujianping
Weibo lamp improvements
Weibo lamp improvements
Xinchen Hui
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
taobao.com
Windows 8 apps dev.整理及分享
Windows 8 apps dev.整理及分享
Liyao Chen
Semelhante a Thrift
(20)
Accelerating or Complicating PHP execution by LLVM Compiler Infrastructure
Accelerating or Complicating PHP execution by LLVM Compiler Infrastructure
Rpc原理与实现
Rpc原理与实现
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
Bluemix Node-Red Part I
Bluemix Node-Red Part I
Hcsm lect-20120913
Hcsm lect-20120913
Google protocol buffers简析
Google protocol buffers简析
Linux c++ 编程之链接与装载 -基础篇--v0.3--20120509
Linux c++ 编程之链接与装载 -基础篇--v0.3--20120509
Introduction to C++ over CLI
Introduction to C++ over CLI
LLVM introduction
LLVM introduction
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
Baidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log Analysis
Effective.enterprise.java中文版
Effective.enterprise.java中文版
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发
深入浅出Netty l.t
深入浅出Netty l.t
Hbase在淘宝的应用与优化 修改
Hbase在淘宝的应用与优化 修改
System verilog简介
System verilog简介
Weibo lamp improvements
Weibo lamp improvements
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
Windows 8 apps dev.整理及分享
Windows 8 apps dev.整理及分享
Thrift
1.
http://Jiaqing.me
2012-03-13
2.
大纲 Thrift简介 Thrift设计
2
3.
Thrift简介 Thrift是什么 Thrift解决什么问题
简单示例 3
4.
What:Introduction of Thrift
实现跨语言的服务访问框架 是一种IDL,定义了数据结构和服务描述 自动生成指定语言的客户端、服务端 opensource by 4
5.
What:Features 接口定义语言(IDL) 多语言支持:C/C++/Java/PHP/Perf/Ruby..
名字空间支持 通用数据类型 支持容器类型 支持自定义异常 … 5
6.
What:Non-features 循环依赖 继承
多态 重载 混合数据类型的集合 返回null 6
7.
Why:the Problem FB
Encountered 各技术体系间的统一桥梁 性能需求 7
8.
How:A Sample 下载源码包和代码编译器
http://thrift.apache.org/download/ 8
9.
How:A Sample 编译,生成基础jar包
9
10.
How:A Sample 编写.thrift定义文件
: hello.thrift namespace java service.demo service Hello { string helloString(1:string para) i32 helloInt(1:i32 para) bool helloBoolean(1:bool para) void helloVoid() string helloNull() } 10
11.
How:A Sample 生成客户端/服务端代码
11
12.
How:A Sample 编写客户端
12
13.
How:A Sample 服务具体实现
13
14.
How:A Sample 编写服务端
14
15.
Thrift设计 总体架构 主要功能
处理流程 15
16.
Arch 提供通用的传输层、协议层、I/O层(红色以下) 通过工具生成客户端/服务端读写逻辑(红色)
RD只需关注业务逻辑(黄色) 16
17.
DataType
基本类型 bool: 布尔值,true 或 false,对应 Java 的 boolean byte: 8 位有符号整数,对应 Java 的 byte i16: 16 位有符号整数,对应 Java 的 short i32: 32 位有符号整数,对应 Java 的 int i64: 64 位有符号整数,对应 Java 的 long double: 64 位浮点数,对应 Java 的 double string: 未知编码文本或二进制字符串,对应 Java 的 String 结构体类型 struct:定义公共的对象(JavaBean、C中的结构体) 容器类型: list: 对应 Java 的 ArrayList set: 对应 Java 的 HashSet map: 对应 Java 的 HashMap 异常类型: exception:对应 Java 的 Exception 服务类型: service: 对应服务的类 17
18.
Protocols TBinaryProtocol
:二进制编码格式 TCompactProtocol: 高效率、密集的二进制编码格式 TJSONProtocol : JSON 的数据编码协议 TSimpleJSONProtocol : 只提供 JSON 只写的协议, 适用于通过脚本语言解析 18
19.
Transport Tsocket:使用阻塞式 I/O
进行传输 TFramedTransport :非阻塞,按块大小传输 TNonblockingTransport :非阻塞,用于异步客户端 19
20.
Servers TSimpleServer:单线程服务端,阻塞式 I/O
TThreadPoolServer:多线程服务端,阻塞式 I/O TNonblockingServer:多线程服务端,非阻塞式 I/O 20
21.
Hello.java
21
22.
Process:Client
22
23.
Process:Server
23
24.
comparing:Size Comparison
http://jnb.ociweb.com/jnb/jnbJun2009.html 24
25.
Comparing : Performance
http://jnb.ociweb.com/jnb/jnbJun2009.html 25
26.
Comparing:Performance
http://jnb.ociweb.com/jnb/jnbJun2009.html 26
27.
参考资料 官网
http://thrift.apache.org/ wiki http://wiki.apache.org/thrift/FrontPage 论文 http://thrift.apache.org/static/thrift-20070401.pdf 27
28.
http://Jiaqing.me
2012-03-13 -END-
Baixar agora