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語言花了些時間對它進行了深入學習,還談不上很厲害,但熱度挺高。加上最近專...