GO GRPC 安裝與測試

2021-10-01 13:14:28 字數 2022 閱讀 3348

解壓縮到 c:\protoc-3.11.2-win64。

加入到系統環境變數。

拉取**go get -u github.com/golang/protobuf/protoc-gen-go,如果能找到protoc-gen-go.exe,則把可執行檔案直接複製到 c:\protoc-3.11.2-win64 。

如果無法找到protoc-gen-go.exe,則可以在下面的目錄執行 go build,會生成乙個新的protoc-gen-go.exe,同上把可執行檔案直接複製到 c:\protoc-3.11.2-win64 。

測試結構

編寫helloword.proto

syntax =

"proto3"

;package hello;

service myrpc

}message firstwrap

message secondwrap

message hellorequest

message helloreply

解釋:

syntax 定義proto的版本。

package 定義生成的*.pb.go所在的包。

service myrpc 定義了這個 grpc 的服務名字和裡面包含的 sayhello 方法。

firstwrap 和 secondwrap 類似於定義了2個訊息體,並且 firstwrap 嵌入了 secondwrap 。

myrpcrequest 和 myrpcresponse 定義了請求引數和返回引數的訊息體。

生成 helloword.pb.go

進入目錄rpct/hello,執行 protoc --go_out=plugins=grpc:. *.proto 會生成 helloword.pb.go。

編寫rpc server

// 業務實現方法的容器

type rpccontainer struct

func

(r *rpccontainer)

sayhello

(ctx context.context, req *pb.myrpcrequest)

(*pb.myrpcresponse,

error),

nil}

func

main()

//註冊rpc

ser := grpc.

newserver()

pb.registermyrpcserver

(ser,

&rpccontainer

)//執行

if err := ser.

serve

(lis)

; err !=

nil}

編寫rpc client
func

main()

client := pb.

newmyrpcclient

(conn)

defer conn.

close()

//請求資料

data :=

&pb.myrpcrequest,}

,}//傳送連線資料

res, err := client.

sayhello

(context.

background()

, data)

if err !=

nil//列印返回的資料

fmt.

println

(res.message)

}

flask安裝與測試

首先安裝python ubantu 12.04 預設是2.7.3 夠用了 這個環境只是支援python的執行環境。如果還需要python開發的話我們還要安裝python dev和python pip 然後安裝python dev和python pip ubantu下直接用sudo apt get i...

yarn安裝與測試

1,配置計算排程系統yarn和計算引擎map redece 2.namenode配置mapred site.xml property name mapreduce.framework.name value yarn 3.節點配置yarn site.xml property name yarn.res...

Kafka安裝與測試

tar zxf kafka 2.11 2.1.0.tgz c usr local sudo mv usr local kafka 2.11 2.1.0.tgz usr local kafka sudo chown r hadoop usr local kafka 啟動zookeeper cd usr...