Thrift:Quick Start

 

Thrift 飞速发轫

 

1 Thrift 介绍

      近日流行的劳动调用方式有众各类,例如基于 SOAP 音信格式的 Web
Service,基于 JSON 音讯格式的 RESTful
服务等。当中所用到的数额传输格局包含 XML,JSON 等,但是 XML
相对容积太大,传输功效低,JSON
体积较小,新颖,但还不够健全。本文将介绍由 Facebook(TWTPAJERO.US)开辟的中距离服务调用框架 Apache
Thrift,它利用接口描述语言定义并创造服务,援救可扩展的跨语言服务支付,所含有的代码生成引擎能够在各个语言中,如
C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa,
Smalltalk 等创立高效的、无缝的劳务,其传输数据选拔二进制格式,相对 XML
和 JSON
体积越来越小,对于高并发、大数据量和多语言的条件更有优势。本文将以官方文书档案中涉及的科目为例,帮忙使用者急迅塑造服务。

 

贰 Thrift 架构简述

         上面通过一张图来讲明Thrift的架构:

 图片 1

 

 

地点那张图展现了多个进程:

一)Thrift编写翻译器依照IDL规则对用户定义的.thrift文件举办编写翻译,生成分裂的编制程序语言的接口。那一点在其余手艺中称之为生成Stub。

二)Thrift客户端调用服务进度:Thrift的客户端选取生成的Stub和见仁见智语言的库文件通过网络访问服务,服务端给予响应。个中不相同编制程序语言的类库中,都不外乎下边包车型大巴机件:

·TTransport
是对互联网传输的包裹,例如Socket、Channel、IO、File等。用于调整应用程序通过尾巴部分操作系统与网络之间的数量的传输。

·TProtocol
是指利用在通讯进程中利用协议。也能够精通为通讯的数据格式,例如:贰进制、压缩格式、JSON等。也足以这是三个系列化组件。

·应用层代码生成器:依照Thrift提供的编写翻译器,将用户编写的的IDL定义转换为分裂的代码。Thrift
IDL代码生成器之于Thrift,等同于OMG IDL之于CORBA,也一样谷歌(Google) Protocol
Buffer IDL之于 Protocol Buffer。

 

3 Thrift 安装

        
在摸底了Thrift的框架结构后,现在就来设置Thrift,并由此一个示范来学习一下Thrift。

 

安装Thrift,要求两样:Thrift的编写翻译器连带的编制程序语言的类库

 

3.1 下载

一)下载现存的安装包:

http://thrift.apache.org/download
下,有现有的安装包,如若应用Windows系统,建议多个(thrift-version.exe 和
thrift-version.tar.gz)都下载。

以及针对Java语言有现有的Maven信赖地点。

<dependency>
  <groupId>org.apache.thrift</groupId>
  <artifactId>libthrift</artifactId>
  <version>0.9.3</version>
</dependency>

或者 

 在http://archive.apache.org/dist/incubator/thrift/
 (0.陆此前的本子的下载地址)和http://archive.apache.org/dist/thrift/
(0.6 之后的版本的下载地址)也足以一向下载安装包。

 

二)下载源码,本身创设筑和安装装包

Apache
以往的档次,也已经从SVN改成了Git管理,所以若是要通过那种办法,须要先学会Git的运用,Git的运用能够参考那里。

 

git clone https://git-wip-us.apache.org/repos/asf/thrift.git thrift
cd thrift

 

三.贰 安装编写翻译器** **

         壹)假使经过地点的率先种情势下载的,安装进程是那样的:

在Windows系统上,已经下载是现存的编写翻译器,就不须要做安装了。

在Linux系统上,执行:

./configure && make

 在其余系统上,能够参考:http://thrift.apache.org/docs/install/

三.叁 安装类库

Thrift的文书档案中,其实都早就认证了什么依据源码生成类库。网站是:http://thrift.apache.org/lib/

就以Java为例:

能够利用Maven,具体地址,下边已交给。

也得以解压thrift-version.tar.gz之后,到${thrift-version}/lib/java目录下行使ant进行营造。

 

 

4 官方Tutorial使用

四.一 使用编译器生成Stub

         那里要说的是法定教程的施用,前提是Thrift已成功安装。

将thrift编写翻译器与shard.thrift,tutorial.thrift(那三个文本能够在${thrift-version}/tutorial目录一找到)
放在一齐,创设出shared,tutorial(那是浮动的代码放置的目录)目录。例如:

 

下一场使用Thrift的编译器生成文书。

例如:

 图片 2

Thrift的编写翻译器的应用协助可以经过thrift –help来获得,如:

图片 3

生成Java代码时,能够那样:

 

thrift -r --gen java tutorial.thrift

 

这么些是本人在测试时生成的代码: 

 图片 4

 

 

四.二 运转示例

 

示范的职分在:${thrift-0.九.3}/tutorial/java/src下。
示例中要用到的keystore文件在${thrift-0.九.三}/lib/java/test目录下。

 

相关文章