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暂无用
微服务