浙江省高等学校教师教育理论培训

微信搜索“毛凌志岗前心得”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Thrift 学习笔记1——Ubuntu环境下Thrift的安装、编译以及测试 - 张进の专栏 - 博客频道 - CSDN.NET

Thrift 学习笔记1——Ubuntu环境下Thrift的安装、编译以及测试


分类:
Thrift


709人阅读
评论(2)
收藏
举报

 

 

1Thrift 概念

 Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务。

thrift最初由facebook开发,07年四月开放源码,085月进入apache孵化器。

 Thrift允许你定义一个简单的定义文件中的数据类型和服务接口。以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言。

看到这里,感觉thrift的作用与webservice差不多,webservice使用xml文件传输,文件太大,效率不高,thrift使用二进制数据,效率更高!

2Thrift Installing and Compiling 安装与编译

操作系统:Ubuntu 8.0+

Thrift安装包:thrift-0.7.0.tar.gz

下载地址:http://labs.renren.com/apache-mirror//thrift/0.7.0/thrift-0.7.0.tar.gz

具体安装过程:

① Required packages 安装相关支持包

sudo apt-get install libboost-dev libboost-test-dev libboost-program-options-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev

② tar -xvf thrift-0.7.0.tar.gz 解压缩文件

③ cd thrift-0.7.0 进入Thrift安装主目录

④ ./configure (可能出现权限不够,请修改文件权限sudo chmod 777 configure)

⑤ sudo make 

⑥ sudo make install

测试安装编译是否成功:

在终端输入thrift出现下面的信息,okinstall thrift success. 

Usage: thrift [options] file 

Options: 

  -version    Print the compiler version 

  -o dir      Set the output directory for gen-* packages 

               (default: current directory) 

  -I dir      Add a directory to the list of directories                 

searched for include directives \

-nowarn     Suppress all compiler warnings (BAD!)

….

 

⑦编译Thrift支持Java的相关Jar文件

 

cd ./lib/java

 

然后编译ant (如果没有安装ant的话,sudo apt-get install ant,何为ant?类似c++make)

 

会生成一个build文件夹,里面存放的是Thrift支持JAVA的相关jar

3Thrift Tutorial (for java) 测试教程

使用Thrift Tutorial的具体步骤:

cd ../../tutorial 
进入Thrift自带的tutorial文件夹

thrift -r --gen java tutorial.thrift
生成gen-java目录

cd java

然后编译ant 生成相关java文件

现在就可以运行demo进行测试了~

开启服务端 ./JavaServer &

再打开一个终端,模拟客户端访问 ./JavaClient

运行结果如图:

1、service端:

       2、Client端:

 

 

 

 

posted on 2012-09-21 17:39  lexus  阅读(375)  评论(0编辑  收藏  举报