Thrift總結 二 建立RPC服務

2021-09-13 09:50:45 字數 2405 閱讀 1615

前面介紹了thrift 基礎的東西,怎麼寫thrift 語法規範編寫指令碼,如何生成相關的語言的介面。不清楚的可以看這個《thrift總結(一)介紹》。做好之前的準備工作以後,下面就開始如何用thrift寫rpc介面。

如何用thrift寫rpc介面

2. 新建乙個空白解決方案命名為hellothrift。在解決方案根目錄下建立乙個lib資料夾,將剛剛生成的thrift.dll檔案放入lib資料夾中。在解決方案分中建立兩個控制台程式和乙個類庫,控制台程式分別命名為hellothrift.client 和 hellothrift.server,類庫命名為thrift.inte***ce。client、server和inte***ce分別引用lib資料夾中的thrift.dll檔案,將準備工作中生成的helloservice檔案匯入到inte***ce類庫中。client和server分別引用inte***ce。具體結果如下圖所示

清單1.myhelloservice

using

system;

using

hellothrift.inte***ce;

namespace

hellothrift.server

//////

只有乙個引數,返回值為int型別的方法

/// ///

///返回值為int型別

public

int helloint(int

para)

//////

只有乙個bool型別引數,返回值為bool型別的方法

/// ///

///返回值為bool型別

public

bool helloboolean(bool

para)

//////

返回執行為空的方法

/// public

void

hellovoid()

//////

無引數,返回值為null的方法

/// ///

返回值為null

public

string

hellonull()}}

4. 建立伺服器端hellothrift.server 宿主的實現**,在program.cs 中新增如下**,這樣乙個thrift 伺服器就建立好了。

清單2.hellothrift.server

using

system;

using

thrift;

using

thrift.protocol;

using

thrift.server;

using

thrift.transport;

using

hellothrift.inte***ce;

namespace

hellothrift.server

catch (ttransportexception ex)//

捕獲異常資訊}}

}

5. 建立完服務端之後,下面開始生成乙個客戶端實現**,在hellothrift.client  的 program.cs 中新增如下**:

清單3.hellothrift.client

using

system;

using

hellothrift.inte***ce;

using

thrift.protocol;

using

thrift.transport;

namespace

hellothrift.client

catch

(ttransportexception e)}}

}

上面的**呼叫了服務端的hellostring方法,服務端也會返回傳入的傳輸值,客戶端將服務端返回的資料列印出來。好了完成了**以後,將先啟動server,在啟動client。客戶端呼叫結果 和 服務端請求顯示。

說明

1. 關於使用thrift 構建我們自己的rpc 的方法,這裡基本講完了。其他的方法本文就不再演示了,呼叫起來都是一樣。  

2. 後續會簡單討論一下thrift 框架的通訊原理。

Thrift總結 二 建立RPC服務

前面介紹了thrift 基礎的東西,怎麼寫thrift 語法規範編寫指令碼,如何生成相關的語言的介面。不清楚的可以看這個 thrift總結 一 介紹 做好之前的準備工作以後,下面就開始如何用thrift寫rpc介面。如何用thrift寫rpc介面 2.新建乙個空白解決方案命名為hellothrift...

Thrift總結 二 建立RPC服務

前面介紹了thrift 基礎的東西,怎麼寫thrift 語法規範編寫指令碼,如何生成相關的語言的介面。不清楚的可以看這個 thrift總結 一 介紹 做好之前的準備工作以後,下面就開始如何用thrift寫rpc介面。一 如何用thrift寫rpc介面 2.新建乙個空白解決方案命名為hellothri...

在 REDHAT 上建立第二個apache服務

有的時候,系統不允許從源 編譯安裝,這樣的話,就需要通過複製已經安裝好的apache2來實現。不過需要修改一些配置檔案的引數。大致有這些檔案需要修改 首先複製這些檔案到新的位置,接著,修改它們的內容 這個是apapche2服務的啟動指令碼,需要修改這些變數,以及指令碼中的這一段 這個是配置apach...