公司一直用thrift作為服務化端的編寫,實作java與php的對接,一直以來都用覺得還是可以,這裡分享給大家希望大家喜歡這個工具。
Thrift是一個軟體架構,用來進行可擴充且跨語言的服務的開發。它結合了功能強大的軟體堆棧和代碼生成引擎,以建構在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 等等程式設計語言間無縫結合的、高效的服務。
我們使用thrift需要的思路為如下圖

我們建立thrift定義服務化接口,作為服務端與用戶端都需要引入jar或者檔案,通過thrift特點的服務與用戶端即可以完成接口調用。
搭建項目第一步在pom檔案,如果還沒使用maven的同學估計可以挂了,現在基本已經沒得用原生jar檔案的了。
其中隻有lib thrift的包為官方,下面的日志包為搭配。
整個項目檔案:
1、defin目錄:自己定義專門存放我們的thrift檔案
2、src檔案:專門存放java檔案
3、php檔案:專門存放php檔案(未建立)
我們首先看看thrift檔案:HelloWorldService.thrift
注釋:編寫thrift檔案之簡單,我們可以看到。例子裡面我寫了一個借口為sayHello的接口。
為防止不會寫thrift的小夥伴我把thrift的基本類型寫一下:很少的哦,如果會使用其他程式設計語言一眼就該知道是什麼意思
生成java檔案與php檔案都一眼,我們例子裡面隻展示使用java檔案。
首先我們需要下載下傳好thrift檔案的執行程式:
windows:下載下傳exe
mac:brewhome裡面下載下傳thrift
linux:下載下傳thrift(不懂得進入群咨詢我,謝謝!)
window環境具體步驟
mac環境具體步驟
執行thrift指令之後,我們的項目如下。然後執行mvn clean install 将項目打包即可生成jar包,以供其他項目使用。
java項目需要引入如上jar包,php項目需要引入上面生成檔案。
項目整體
這一篇我們講訴了使用thrift的基本用法,其實很簡單,原理更簡單。thrift就是使用thrift作為媒介,各個調用的接口都可以讀取socket的資料,或者監控用戶端以供資料。
但是很多人會發現,就這個用戶端與服務端起雞毛作用啊,根本就是socket的嘛。在項目實際運用中怎麼玩耍呢,接下來我将會講解怎麼正在封裝使用thrift,作為接口使用。一般網際網路公司都這麼玩耍。下一章節,講訴。
兩個項目的代碼在git上面可以下載下傳:: https://github.com/yangchangyong0