Thrift 學習筆記1——Ubuntu環境下Thrift的安裝、編譯以及測試

1Thrift 概念

Thrift是一個軟件框架,用來進行可擴展且跨語言的服務的開發。它結合了功能強大的軟件堆棧和代碼生成引擎,以構建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 這些編程語言間無縫結合的、高效的服務。 java

thrift最初由facebook開發,07年四月開放源碼,085月進入apache孵化器。 c++

Thrift容許你定義一個簡單的定義文件中的數據類型和服務接口。以做爲輸入文件,編譯器生成代碼用來方便地生成RPC客戶端和服務器通訊的無縫跨編程語言。 web

看到這裏,感受thrift的做用與webservice差很少,webservice使用xml文件傳輸,文件太大,效率不高,thrift使用二進制數據,效率更高! apache

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 flex

② 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

運行結果如圖:

一、service端:

      2、Client端:

相關文章
相關標籤/搜索