1.git clone https://github.com/ifconfigur...
2.go mod download
結合了go-kit和grpc的學習使用,go-kit由於分層的關係,會使得代碼生澀難讀,再加上go-kit通常是配合gRpc使用,因此便有了這個demo。
能夠使用它做爲項目的初始化框架,在分層的體系上儘可能保持了精簡,只須要稍微花點時間理解一下每層的意義,即可以快速進行微服務開發。
TODO: 後期會引入服務註冊/發現,熔斷,降級,鏈路追蹤,感謝朋友star💖一波
1) cd gRpc
2) go build grpc-server.go
3) ./grpc-server
git
1) go build grpc-client.go
2) ./grpc-client
github
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暫無用
微服務