Thrift 连忙早先

 

1 Thrift 介绍

      如今盛行的劳务调用方式有诸五种,例如基于 SOAP 音讯格式的 Web
Service,基于 JSON 音讯格式的 RESTful
服务等。其中所用到的多少传输形式蕴涵 XML,JSON 等,可是 XML
绝对体积太大,传输功用低,JSON
容积较小,新颖,但还不够周全。本文将介绍由 非死不可开发的长途服务调用框架 Apache
Thrift,它采取接口描述语言定义并创办服务,匡助可增加的跨语言服务开发,所蕴藏的代码生成引擎可以在二种语言中,如
C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa,
Smalltalk 等创制高效的、无缝的服务,其传输数据选用二进制格式,相对 XML
和 JSON
体量更小,对于高并发、大数据量和多语言的环境更有优势。本文将以法定文档中提到的教程为例,扶助使用者连忙打造服务。

 

2 Thrift 架构简述

         上边通过一张图来表明Thrift的架构:

 图片 1

 

 

上边那张图突显了两个进程:

1)Thrift编译器依照IDL规则对用户定义的.thrift文件举办编译,生成差其他编程语言的接口。那点在其他技术中称之为生成Stub。

2)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 下载

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.6事先的版本的下载地址)和http://archive.apache.org/dist/thrift/
(0.6 之后的本子的下载地址)也可以一贯下载安装包。

 

2)下载源码,本身创设安装包

Apache
以往的类型,也早已从SVN改成了Git管理,所以一旦要因而那种艺术,需求先学会Git的采纳,Git的使用可以参见那里。

 

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

 

3.2 安装编译器** **

         1)倘诺因而地点的第一种办法下载的,安装进程是如此的:

在Windows系统上,已经下载是现成的编译器,就不需求做安装了。

在Linux系统上,执行:

./configure && make

 在其他系统上,可以参见:http://thrift.apache.org/docs/install/

3.3 安装类库

Thrift的文档中,其实都已经阐明了什么依照源码生成类库。网址是:http://thrift.apache.org/lib/

就以Java为例:

可以接纳Maven,具体地址,上边已提交。

也得以解压thrift-version.tar.gz之后,到${thrift-version}/lib/java目录下选择ant举办构建。

 

 

4 官方Tutorial使用

4.1 使用编译器生成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

 

 

4.2 运行示例

 

以身作则的职位在:${thrift-0.9.3}/tutorial/java/src下。
示例中要用到的keystore文件在${thrift-0.9.3}/lib/java/test目录下。

 

相关文章

网站地图xml地图