grpc-go的hello_world

1. gRPC簡介html

gRPC是一個高性能、開源和通用的RPC框架,面向移動和HTTP/2設計。目前提供C、Java和Go語言版本,分別是grpc、grpc-java、grpc-go。gRPC基於HTTP/2標準設計,帶來諸如雙向流、流控、頭部壓縮、單TCP鏈接上的多複用請求等特性。這些特性使得其在移動設備上表現更好,更省電和節省空間佔用。gRPC由google開發,是一款語言中立、平臺中立、開源的遠程過程調用系統。java

2. gRPC是什麼python

在gRPC裏客戶端應用能夠像調用本地對象同樣直接調用另外一臺不一樣機器上服務端應用的方法,使得你可以更容易地建立分佈式應用和服務。與許多RPC系統相似,gRPC也是基於這樣的理念:
定義一個服務,指定其可以被遠程調用的方法(包括參數和返回類型)。
在服務端實現這個接口,並運行一個gRPC服務器來處理客戶端調用。
在客戶端擁有一個存根可以像服務端同樣的方法。
gRPC客戶端和服務端能夠在多種環境中運行和交互,從google內部的服務器到你的筆記本,而且可使用任何gRPC支持的語言編寫。
因此你能夠很容易滴用Java建立一個gRPC服務端,用go、python、ruby來建立客戶端。
此外,google最新api將有gRPC版本的接口,使你很容易地將Google的功能集成到你的應用中。git

3. gRPC-go之環境搭建github

  • 事前要求:Go版本至少爲1.6 
  • 安裝gRPC:go get -u google.golang.org/grpc
  • 安裝Protocol Buffers v3:用於生產gRPC服務代碼的protoc編譯器,安裝過程以下:
  1. 打開 https://github.com/google/protobuf/releases ,可下載最新版本的源碼而後編譯安裝(目前最新:protobuf-cpp-3.6.1.zip)
  2. 解壓已下載的文件,依次執行:./configure  ==>  make ==> make install
  • 安裝go的protoc插件:go get -u github.com/golang/protobuf/protoc-gen-go
  • 下載Demo程序:安裝gRPC的包中就包含了Demo程序了,按如下步驟執行Demo:
  1. cd $GOPATH/src/google.golang.org/grpc/examples/helloworld/helloworld
  2. go run greeter_server/main.go
  3. go run greeter_client/main.go
  4. 在客戶端可輸出:Greeting: Hello world
  5. 可基於 文檔 自行更新該例子,可輸出以下:

   

4. 小結golang

  雖然以前沒使用過gRPC,可是通過一小時的學習與實踐,加之以前多年的開發經驗(C、C++、Go),其實學一個新的知識點並不難。接下來可在實踐中多體驗及深刻了解gRPC。api

5. 參考資料ruby

相關文章
相關標籤/搜索