2015年1月29日 星期四

Thrift 安裝筆記

Thrift介紹
是封包壓縮的一種框架,同類型較為知名的還有Protocol Buffer、Message Pack、json等方式

與其他三種也較為常用的框架壓縮同樣100份傳輸資料做比較

                              壓縮後大小(bytes)    壓縮時間(ns)        解壓時間(ns)
MessagePack                12793                     2313335                 529458

Protocol Buffers            6590                       941790                  408571

Thrift                             6530                       798696                  754458

Json                              17181                      1338371               1776519

可以看到Thrift壓縮後的大小是最小,與ProtocolBuffers差不多

壓縮時是最快的,解壓則是第二慢,但平均而言也是和ProtocolBuffers差不多

所以這兩種框架也是較多人使用的框架(畢竟平均表現比較好)



安裝

Thrift可以直接安裝在windows下,透過cmd來調用,也可以使用Cygwin模擬UNIX環境來使用

以下介紹是使用Cygwin安裝及使用

首先要安裝Cygwin,這是免費軟體,請自行google官方網站下載安裝(有64及32位元版本,請根據自身系統下載)

Cygwin安裝

1.執行安裝檔後,直接按下一步,進到下一個頁面若是初次使用,請選擇"Install from Internet",第二個選項是只下載不安裝,第三個選項是曾經下載過直接從本地端安裝

2.下一步是選擇安裝目錄,這個會是模擬UNIX系統的home目錄
建議使用預設的"C:/Cygwin"即可,絕對不要直接安裝在"C:/",不然你目錄會很亂
至於下面的選項請選擇"All Users"

3.再來是選擇下載資料要儲存的地方,這邊就自行設定,如果要全部下載插件的話
硬碟空間需要 7G (我的安裝時間為01/20/2015,此為當時資料)
請注意選擇的目的地是否擁有足夠空間

4.再來是選擇是否要透過proxy,正常網路環境的話選擇預設的"Direct Connection"即可

5.接下來會看到跑一下子的下載條,這邊是向官方網站要求"可提供下載的server list"
之後會直接列出讓你選擇,因為大部份並沒有寫出server位置
我是使用"cygwin.mirror.constant.com"這個server,下載速度最高可到1M

6.選擇完server會列出插件列表,懶人就點"All"把Default改成Install吧
如果不想全部安裝,請至Thrift官網,根據你想使用的語言(ruby、python等等)查看官網的插件需求

7.接下來就會自動下載,根據我自身經驗,大約需要3~4小時下載,安裝約需1~2小時
若是下載中途斷網,可以重新執行安裝檔,請注意要選擇"同一個server"才能斷點續傳

8.安裝完畢會問你是否建立捷徑,根據自身選擇,之後你就可以從捷徑或是Start Menu→Cygwin→Cygwin開啟使用

Thrift安裝

1.至Thrift官網下載安裝檔,在windows環境安裝需要下載tar檔及thrift.exe檔
請將tar檔解壓縮,以目前最新會獲得thrift-0.9.2資料夾(以下以此資料夾名稱舉例)

2.執行Cygwin,將目錄切換到解壓縮後的thrift目錄,對UNIX系統指令不熟請自行google學習
進到thrift目錄後,執行指令
./configure

**/cygwindrive是windows路徑映射到cygwin路徑的接口,如果你解壓的資料夾在D槽
那麼要切換過去就是 "/cygwindrive/d/thrift-0.9.2"

3.執行完前一個指令後,請進到/thrift-0.9.2/compiler/cpp
依序執行以下兩個指令
make
make install 

**若是make時出現
錯誤:「fileno」在此作用欄位中尚未宣告
請修改"/thrift-0.9.2"底下的configure.ac
找到AX_CXX_COMPILE_STDCXX_11([noext])改成AX_CXX_COMPILE_STDCXX_11([ext])
然後重新下"./configure"後make就可以正常了

4.make install結束後回到/thrift-0.9.2,輸入指令
thrift -r
若是有跑出"No output language(s) specified"及一大串usage教學就表示安裝成功了

5.Thrift官方在壓縮檔中有範例,可以根據自己想使用的語言編譯出相對應的教學檔
例如要看CPP的Thrift教學範例,進到"/thrift-0.9.2/tutorial/"執行指令
thrift -r --gen cpp tutorial.thrift
參數cpp可以改成你想要的語言,支援的語言可以看tutorial中有哪些語言資料夾即可知道
執行完後,會出現"gen-cpp"資料夾,裡面就是thrift教學檔轉換成cpp後的檔案

沒有留言:

張貼留言