JavaThrift:Quick Start

 

Thrift 快速开

 

1 Thrift 介绍

      目前风行的劳动调用方式发出无数种,例如基于 SOAP 消息格式的 Web
Service,基于 JSON 消息格式的 RESTful
服务等。其中所用到的多寡传输方式包括 XML,JSON 等,然而 XML
相对体积太非常,传输效率不如,JSON
体积于小,新颖,但还不够完善。本文将介绍由 Facebook
开发之长距离服务调用框架 Apache
Thrift,它用接口描述语言定义并创造服务,支持可扩大的跨语言服务付出,所蕴涵的代码生成引擎可以以多种语言中,如
C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa,
Smalltalk 等创建高效之、无缝的服务,其传输数据采用二向前制格式,相对 XML
和 JSON
体积还有些,对于高并发、大数据量和多语言的条件还发生优势。本文将因官方文档中干的课程为条例,帮助使用者快速构建服务。

 

2 Thrift 架构简述

         下面通过同样摆图来说明Thrift的架构:

 Java 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的编译器生成文书。

例如:

 Java 2

Thrift的编译器的利用帮助可以经过thrift –help来取,如:

Java 3

生成Java代码时,可以这样:

 

thrift -r --gen java tutorial.thrift

 

这些是本身于测试时别的代码: 

 Java 4

 

 

4.2 运行示例

 

以身作则的岗位于:${thrift-0.9.3}/tutorial/java/src下。
示例被使为此到之keystore文件于${thrift-0.9.3}/lib/java/test目录下。

 

相关文章