go微服務學習一

2021-08-30 14:04:12 字數 1558 閱讀 9197

go get -u github.com/micro/protobuf/protoc-gen-go3 .編譯

protoc -i . --go_out=plugins=micro:./ ./proto/consignment/consignment.proto
4.proto 檔案

service shippingservice 

// 檢視託運貨物的資訊

rpc getconsignments (getrequest) returns (response)

}

5.編寫服務端

/這塊**作為服務端真實實現**來使用

type repository struct

func (repo *repository) create(consignment *pb.consignment) (*pb.consignment, error)

type service struct

// 實現 consignment.pb.go 中的 shippingservicehandler 介面

// 託運新的貨物

// func (s *service) createconsignment(ctx context.context, req *pb.consignment, resp *pb.response) error

resp = &pb.response

return nil

}func main()

pb.registershippingservicehandler(server.server(), &service)

if err := server.run(); err != nil

}

6.編寫客戶端

func main() 

// 解析貨物資訊

consignment, err := parsefile(infofile)

if err != nil

// 呼叫 rpc

// 將貨物儲存到我們自己的倉庫裡

resp, err := client.createconsignment(context.background(), consignment)

if err != nil

// 新貨物是否託運成功

log.printf("created: %t", resp.created)

log.printf("resp: %v", resp)

// 列出目前所有託運的貨物

resp, err = client.getconsignments(context.background(), &pb.getrequest{})

if err != nil

for _, c := range resp.consignments

}

至此初始**執行成功

Go語言微服務

微服務 go語言 docker技術也算目前比較熱門的技術話題,本人也是抱著學習的思想,整理一些學習心得,和志同道合的朋友一起 學習一下。接下來是一系列關於go語言微服務的系列文章。為什麼是go語言的微服務,原因很簡單,最近對go語言花了些時間對它進行了深入學習,還談不上很厲害,但熱度挺高。加上最近專...

go微服務系列 一 go micro入門

2.go micro入門 3.結合consul進行服務註冊 發現 它是乙個可插入的rpc框架,用於在go中編寫微服務。開箱即用,您將收到 go 微體系結構可以描述為三層堆疊 頂層由客戶端 伺服器模型和服務抽象組成。底層由以下型別的外掛程式組成 sidecar提供服務註冊,grpc編碼 解碼和http...

Go語言微服務系列文章

微服務 go語言 docker技術也算目前比較熱門的技術話題,本人也是抱著學習的思想,整理一些學習心得,和志同道合的朋友一起 學習一下。接下來是一系列關於go語言微服務的系列文章。為什麼是go語言的微服務,原因很簡單,最近對go語言花了些時間對它進行了深入學習,還談不上很厲害,但熱度挺高。加上最近專...