首頁 > 軟體

Go gRPC環境安裝教學範例詳解

2022-06-15 18:01:06

前言

gRPC 是一個高效能、開源和通用的 RPC 框架,面向移動和 HTTP/2 設計,帶來諸如雙向流、流控、頭部壓縮、單 TCP 連線上的多複用請求等特。這些特性使得其在移動裝置上表現更好,更省電和節省空間佔用。

在 gRPC 裡使用者端應用可以像呼叫本地物件一樣直接呼叫另一臺不同的機器上伺服器端應用的方法,使得您能夠更容易地建立分散式應用和服務。

gRPC 預設使用 protocol buffers,這是 Google 開源的一套成熟的結構資料序列化機制,它的作用與 XML、json 類似,但它是二進位制格式,效能好、效率高(缺點:可讀性差)。

安裝 protobuf

1.下載地址:https://github.com/protocolbuffers/protobuf/releases

根據自身電腦的作業系統,選擇最新的releases版本下載

2.解壓後在bin目錄找到protoc.exe,然後把它複製到GOBIN目錄下

一般操作是把protoc.exe所在的目錄配到環境變數裡,這裡直接把protoc.exe複製到GOBIN目錄下,前提是環境變數已經設定了GOBIN環境變數。

3.開啟cmd,執行protoc --version

成功列印當前版本資訊證明安裝成功了。

安裝相關包

安裝 golang 的proto工具包

go get -u github.com/golang/protobuf/proto

安裝 goalng 的proto編譯支援

go get -u github.com/golang/protobuf/protoc-gen-go

安裝 gRPC 包

go get -u google.golang.org/grpc

建立並編譯proto檔案

1.新建proto資料夾,在裡面新建simple.proto檔案

 syntax = "proto3";// 協定為proto3
package proto;
// 定義傳送請求資訊
message SimpleRequest{
    // 定義傳送的引數
    // 引數型別 引數名 標識號(不可重複)
    string data = 1;
}
// 定義響應資訊
message SimpleResponse{
    // 定義接收的引數
    // 引數型別 引數名 標識號(不可重複)
    int32 code = 1;
    string value = 2;
}
// 定義我們的服務(可定義多個服務,每個服務可定義多個介面)
service Simple{
    rpc Route (SimpleRequest) returns (SimpleResponse){};
}

2.編譯proto檔案

cmd進入simple.proto所在目錄,執行以下指令進行編譯

protoc --go_out=plugins=grpc:./ ./simple.proto

VSCode-proto3外掛介紹

使用VSCode的朋友看這裡,博主介紹一個VSCode外掛,方便對編輯和編譯proto檔案。

  • 擴充套件程式中搜尋 VSCode-proto3,然後點選安裝。
  • 在設定中找到setting.json檔案,新增vscode-proto3外掛設定
   // vscode-proto3外掛設定
    "protoc": {
        // protoc.exe所在目錄
        "path": "C:\Go\bin\protoc.exe",
        // 儲存時自動編譯
        "compile_on_save": true,
        "options": [
            // go編譯輸出指令
            "--go_out=plugins=grpc:."
        ]
    }

每次編輯完proto檔案後,只需要儲存,它就會自動幫助完成編譯。而且程式碼有高亮顯示,程式碼自動補全,程式碼格式化等功能。

教學原始碼地址:https://github.com/Bingjian-Zhu/go-grpc-example

以上就是Go gRPC環境安裝教學範例詳解的詳細內容,更多關於Go gRPC環境安裝教學的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com