Thrift 学习笔记1——Ubuntu环境下Thrift的安装、编译以及测试
分类:
Thrift
2011-11-15 22:03
709人阅读
评论(2)
收藏
举报
目录(?)[+]
- Thrift 概念
- ThriftInstallingandCompiling 安装与编译
- ThriftTutorial(forjava) 测试教程
1、Thrift 概念
Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在C++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Cocoa,JavaScript,Node.js,Smalltalk,andOCaml这些编程语言间无缝结合的、高效的服务。
thrift最初由facebook开发,07年四月开放源码,08年5月进入apache孵化器。
Thrift允许你定义一个简单的定义文件中的数据类型和服务接口。以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言。
看到这里,感觉thrift的作用与webservice差不多,webservice使用xml文件传输,文件太大,效率不高,thrift使用二进制数据,效率更高!
2、ThriftInstallingandCompiling 安装与编译
操作系统:Ubuntu8.0+
Thrift安装包:thrift-0.7.0.tar.gz
下载地址:http://labs.renren.com/apache-mirror//thrift/0.7.0/thrift-0.7.0.tar.gz
具体安装过程:
①Requiredpackages 安装相关支持包
sudoapt-getinstalllibboost-devlibboost-test-devlibboost-program-options-devlibevent-devautomakelibtoolflexbisonpkg-configg++libssl-dev
②tar-xvfthrift-0.7.0.tar.gz 解压缩文件
③cdthrift-0.7.0 进入Thrift安装主目录
④./configure(可能出现权限不够,请修改文件权限sudochmod777configure)
⑤sudomake
⑥sudomakeinstall
测试安装编译是否成功:
在终端输入thrift出现下面的信息,ok,installthriftsuccess.
Usage:thrift[options]file
Options:
-versionPrintthecompilerversion
-odirSettheoutputdirectoryforgen-*packages
(default:currentdirectory)
-IdirAddadirectorytothelistofdirectories
searchedforincludedirectives\
-nowarnSuppressallcompilerwarnings(BAD!)
….
⑦编译Thrift支持Java的相关Jar文件
cd./lib/java
然后编译ant(如果没有安装ant的话,sudoapt-getinstallant,何为ant?类似c++的make)
会生成一个build文件夹,里面存放的是Thrift支持JAVA的相关jar包
3、ThriftTutorial(forjava) 测试教程
使用ThriftTutorial的具体步骤:
cd../../tutorial
进入Thrift自带的tutorial文件夹thrift-r--genjavatutorial.thrift
生成gen-java目录cdjava
然后编译ant生成相关java文件
现在就可以运行demo进行测试了~
开启服务端./JavaServer&
再打开一个终端,模拟客户端访问./JavaClient
运行结果如图:
1、service端:
2、Client端:
Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在C++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Cocoa,JavaScript,Node.js,Smalltalk,andOCaml这些编程语言间无缝结合的、高效的服务。
thrift最初由facebook开发,07年四月开放源码,08年5月进入apache孵化器。
Thrift允许你定义一个简单的定义文件中的数据类型和服务接口。以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言。
看到这里,感觉thrift的作用与webservice差不多,webservice使用xml文件传输,文件太大,效率不高,thrift使用二进制数据,效率更高!
操作系统:Ubuntu8.0+
Thrift安装包:thrift-0.7.0.tar.gz
下载地址:http://labs.renren.com/apache-mirror//thrift/0.7.0/thrift-0.7.0.tar.gz
具体安装过程:
①Requiredpackages 安装相关支持包
sudoapt-getinstalllibboost-devlibboost-test-devlibboost-program-options-devlibevent-devautomakelibtoolflexbisonpkg-configg++libssl-dev
②tar-xvfthrift-0.7.0.tar.gz 解压缩文件
③cdthrift-0.7.0 进入Thrift安装主目录
④./configure(可能出现权限不够,请修改文件权限sudochmod777configure)
⑤sudomake
⑥sudomakeinstall
测试安装编译是否成功:
在终端输入thrift出现下面的信息,ok,installthriftsuccess.
Usage:thrift[options]file
Options:
-versionPrintthecompilerversion
-odirSettheoutputdirectoryforgen-*packages
(default:currentdirectory)
-IdirAddadirectorytothelistofdirectories
searchedforincludedirectives\
-nowarnSuppressallcompilerwarnings(BAD!)
….
⑦编译Thrift支持Java的相关Jar文件
cd./lib/java
然后编译ant(如果没有安装ant的话,sudoapt-getinstallant,何为ant?类似c++的make)
会生成一个build文件夹,里面存放的是Thrift支持JAVA的相关jar包
使用ThriftTutorial的具体步骤:
cd../../tutorial
进入Thrift自带的tutorial文件夹
thrift-r--genjavatutorial.thrift
生成gen-java目录
cdjava
然后编译ant生成相关java文件
现在就可以运行demo进行测试了~
开启服务端./JavaServer&
再打开一个终端,模拟客户端访问./JavaClient
运行结果如图:
1、service端: