gRPC的簡單Go例子

2021-07-24 23:53:37 字數 1106 閱讀 7941

grpc是乙個高效能、通用的開源rpc框架,其由google主要面向移動應用開發並基於http/2協議標準而設計,基於protobuf(protocol buffers)序列化協議開發,且支援眾多開發語言。grpc提供了一種簡單的方法來精確地定義服務和為ios、android和後台支援服務自動生成可靠性很強的客戶端功能庫。客戶端充分利用高階流和鏈結功能,從而有助於節省頻寬、降低的tcp鏈結次數、節省cpu使用、和電池壽命。

這次看到的例子來自: grpc in 3 minutes (go) 

分別獲得客戶端和伺服器端的**如下:

強大的idl特徵

grpc使用protobuf來定義服務,protobuf是由google開發的一種資料序列化協議(類似於xml、json、hessian)。protobuf能夠將資料進行序列化,並廣泛應用在資料儲存、通訊協議等方面。

這裡例子中idl檔案用的是這個:

我們這裡直接用已經基於這個proto檔案生產的go檔案:   這裡我們沒有用 protoc 工具。

google.golang.org/grpc   對應的**位址在: 

google.golang.org/cloud/compute/metadata   對應的**位址在:  

golang.org/x/oauth2   對應的**位址在:  

golang.org/x/net/context 對應的**位址在: 

go get –a 這樣的命令, –a 引數是go install的引數,不是go get的引數。

伺服器端**

注意我這裡為了方便檢視,增加每次請求列印一條資訊:

客戶端**:

Go微服務 grpc的簡單使用

我的是windows,將壓縮包bin目錄下的exe放到環境path目錄中即可。然後獲取外掛程式支援庫 grpc執行時介面編譯碼支援庫 從 proto檔案 grpc介面描述檔案 生成 go檔案 的編譯器外掛程式 go get u github.com golang protobuf protoc ge...

grpc 服務呼叫例子

1.建立乙個hello.proto 其實就是定義乙個服務,然後後面需要實現它的介面 syntax proto3 path 表示生成的go檔案的存放位址,會自動生成目錄的。name 表示生成的go檔案所屬的包名 option go package hello package hello service...

go版本gRPC入門

本文通過乙個簡單的示例,了解如何在go中使用grpc。使用命令列安裝 使用以下命令安裝grpc go get google.golang.org grpc 獲取編譯器外掛程式protoc gen go,並將其安裝在 gobin路徑中,預設為 gopath bin。5 必須設定好 path環境變數,協...