Go GRPC 入門(一)


前言

微服務相關
使用 GRPC 通訊的 Golang 微服務入門
舉例寫一個微服務,接收網址發送請求獲取返回結果返回

正文

安裝工具

安裝 protobuf

這是 proto 文件的編譯器
點我下載
選擇最新的 releases 中的適合你版本的包下載即可
如 windows 選 win64.zip 下載后解壓

解壓后打開包內的 bin 文件夾,里面有 protoc.exe

將其粘貼到windows的環境變量中的某一個文件夾內以便在 CMD 中隨地可訪問
比如將其放至 C:\Windows
打開 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

創建項目

模擬微服務開發,在某個空文件夾下建立兩個文件夾
分別為 clientserver

創建 proto 文件

proto 文件是微服務交互的基本
proto的語法可見
GoogleDocs
這里簡單寫一個示例(spider.proto)

syntax = "proto3";  // 協議為proto3

package spider;  // 包名

// 發送請求
message SendAddress {
    // 發送的參數字段
    // 參數類型 參數名 標識號(不可重復)
    string address = 1;  // 要請求的地址
    string method = 2;  // 請求方式
}

// 返回響應
message GetResponse {
    // 接收的參數字段
    // 參數類型 參數名 標識號
    int32 httpCode = 1;  // http狀態碼
    string response = 2;  // 返回體
}

// 定義服務,可定義多個服務,每個服務可多個接口
service GoSpider {
    // rpc請求 請求的函數 (發送請求參數) returns (返回響應的參數)
    rpc GetAddressResponse (SendAddress) returns (GetResponse);
}

生成 .bp.go 文件

使用剛才下載的 protoc 工具將 proto 文件編譯成 golang 可識別的文件

protoc --go_out=. --go_opt=paths=source_relative \
    --go-grpc_out=. --go-grpc_opt=paths=source_relative \
    ./exp.proto

運行后會在當前目錄下生成 spider.pb.go 文件
該文件是 server 和 client 的通信協議,業務代碼不在這里,所以除非必須改,否則勿動


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM