地址
github.com/ifconfigure/go-kit-grpc... ,感興趣的朋友關注給個star喲♥
安裝
1.git clone github.com/ifconfigure/go-kit-grpc...
2.go mod download
簡介
結合了go-kit和grpc的學習使用,go-kit因為分層的關係,會使得程式碼生澀難讀,再加上go-kit一般是配合gRpc使用,所以便有了這個demo。
可以使用它作為專案的初始化框架,在分層的體系上儘量保持了精簡,只需要稍微花點時間理解一下每層的意義,便可以快速進行微服務開發。
TODO: 後期會引入服務註冊/發現,熔斷,降級,鏈路追蹤,感謝朋友star?一波
如果想執行純GRPC的DEMO
1.啟動gRPC Server
1) cd gRpc
2) go build grpc-server.go
3) ./grpc-server
2.啟動gRPC Client
1) go build grpc-client.go
2) ./grpc-client
如果想執行go-kit + gRpc的demo
1) cd go-kit
2) go build rpc-server.go
3) ./rpc-server
4) 切換到grpc目錄下編譯並啟動grpc-client,例:./grpc-client
目錄結構描述
├── go-kitgo-kit的主要目錄, go-kit的分層思想和微服務都應該寫在這裡面
│ ├── EndPoint負責業務邏輯,並且返回給Handler
│ ├── Handler負責呼叫EndPoint,也就是把EndPoint和TransPort層封裝起來,並且返回給grpc呼叫,可以理解為中間人
│ ├── TransPort跟go-kit的思想一樣,就是負責資料傳入的處理,比如傳入檢驗等
├── gRpcgrpc的業務邏輯
│ ├── PB生成的PB檔案放這裡
│ ├── ProtoProto3原始檔案,為什麼和PB要分開放是因為可以單獨共享proto檔案給其它團隊生成呼叫
│ ├── Service這裡可以單獨寫grpc裡的業務邏輯,是和go-kit分開的,如果在go-kit的endpoint寫了業務就不用在這裡寫,當然也可以在這裡寫業務透過endpoint呼叫
├── main.go暫無用
本作品採用《CC 協議》,轉載必須註明作者和本文連結