发布时间:2022-06-29 文章分类:编程知识 投稿人:王小丽 字号: 默认 | | 超大 打印

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


分类:
Thrift


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

目录(?)[+]

  1. Thrift 概念
  2. ThriftInstallingandCompiling 安装与编译
  3. ThriftTutorial(forjava) 测试教程

1Thrift 概念

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

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

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

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

2ThriftInstallingandCompiling 安装与编译

操作系统: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出现下面的信息,okinstallthriftsuccess.

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

3ThriftTutorial(forjava) 测试教程

使用ThriftTutorial的具体步骤:

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

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

cdjava

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

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

开启服务端./JavaServer&

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

运行结果如图:

1、service端:

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

2、Client端:

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

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

thrift最初由facebook开发,07年四月开放源码,085月进入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出现下面的信息,okinstallthriftsuccess.

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端: