go-kit结合gRpc的使用和学习

KennyYoung · · 992 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

安装

1.git clone https://github.com/ifconfigur...
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-kit
go-kit的主要目录, go-kit的分层思想和微服务都应该写在这里面
│ ├── EndPoint
负责业务逻辑,并且返回给Handler
│ ├── Handler
负责调用EndPoint,也就是把EndPoint和TransPort层封装起来,并且返回给grpc调用,可以理解为中间人
│ ├── TransPort
跟go-kit的思想一样,就是负责数据传入的处理,比如传入检验等
├── gRpc
grpc的业务逻辑
│ ├── PB
生成的PB文件放这里
│ ├── Proto
Proto3原始文件,为什么和PB要分开放是因为可以单独共享proto文件给其它团队生成调用
│ ├── Service
这里可以单独写grpc里的业务逻辑,是和go-kit分开的,如果在go-kit的endpoint写了业务就不用在这里写,当然也可以在这里写业务通过endpoint调用
├── main.go
暂无用


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:KennyYoung

查看原文:go-kit结合gRpc的使用和学习

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

992 次点击  
加入收藏 微博
上一篇:11.30 U面试
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传