go語言下快速使用GRPC

shubiao-yao發表於2020-11-07

1.準備環節:
該連結是grpc官方go語言快速開始的文件,沒接觸過grpc的同學看起來可能有點蒙,我建議還是應該反覆看幾遍。
grpc.io/docs/languages/go/quicksta...

首先文件中講到了grpc所需的依賴:
    1.go語言環境
    2.Protocol buffer的編譯器protoc, protoc是用來生成pb.go的一個工具,怎麼安裝呢?請看下面的連結:https://grpc.io/docs/protoc-installation/ 
    上面兩步做完之後依賴就算搞定了

2.快速開始
準備環節搞定後就可以啟動grpc的client和server了。
這裡我使用的是官方的helloworld示例:
github.com/grpc/grpc-go/tree/maste...

我將helloworld示例單獨抽離出來放到我的專案當中:
https://github.com/shubiao-yao/go-web-project/tree/master/grpc

GRPC目錄構成:
如何在go-web專案中快速搭建GRPC?
可以看出在grpc/hellowrold目錄下有hellowrold.proto檔案,這個檔案跟官方的是一樣的,那麼hellowrold.pb.go檔案是怎麼來的呢?這個檔案是利用1中安裝的protoc工具來生成的比如:
如何在go-web專案中快速搭建GRPC?
protoc的使用可以查閱下相關的教程和文件,這裡我不做過多說明

grpc這個框架其實是基於http2協議做了一層封裝,首先需要啟動grpc的sserver端指定要監聽的埠,client去連結server端的時候也需要指定ip和埠,在client.go和server.go中有相關的程式碼示例。

到這裡就可以在本地執行起來grpc的server和client進行通訊了

我這裡寫的helloworld.proto檔案中比較簡單,如果用於真實專案中可能還需要其它的一些內容,比如 option map 等語法,可以詳細瞭解下google的protobuf協議。

文章寫的比較粗糙,如果讀者有什麼疑問歡迎給我留言。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章