笔记项目的个人总结 | 青训营笔记

182 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第1篇笔记,首先我很感谢字节能给我这么一个优秀的学习平台,能够这么近距离的接触大佬,真的好激动,尤其是金柱老师,而且杭州字节离我超级近(哈哈哈哈)。

直接进入主题,此次的课程安排了基于Kitex、Gorm和Gin的笔记服务项目,其中包含了rpc、http以及orm的思想。 笔者此前有过pythonWeb的实习经验,rpc框架Kitex理解不是很充分,Gin框架好理解,Gorm也还是很好理解的。

需要提前学习的工具:

  1. Docker
  2. Postman
  3. Git 以及知识:
  4. Kitex
  5. Gorm
  6. Etcd
  7. OpenTracing

项目整体分成了三个功能模块,分别是API服务、用户数据管理和笔记数据管理。
项目地址github.com/cloudwego/k…

服务名称技术框架传输协议注册中心链路追踪
demoapiGorm Kitex Ginhttpetcdopentracing
demouserGorm Kitexprotobufetcdopentracing
demouserGorm Kitexthriftetcdopentracing

服务之间的调用关系 截屏2022-05-17 16.32.39.png

功能模块介绍 截屏2022-05-17 16.35.20.png

项目定义user和note的idl(interface define language),我在使用kitex自动生成kitex-gen代码那块直接卡死了,基于thrift协议的可以正常生成,但是protobuf协议的代码则无法正常生成。这也算是一个坑。 其他部分的逻辑都比较清楚。 main中包含了初始化的信息,handlers中是request和response的方法的封装,rpc是同样也是底层逻辑的抽象,真正的实现逻辑是在service中,还是需要去掌握项目的整体架构,或者说是框架,就想写文章,大纲写完了,接下来就把每一段展开讲就好了。 在测试阶段需要特别注意的是请求头里面需要带上token字段,还有字段过期。 Docker的话自己去多玩玩就可以。云原生驱动后端技术的升级。 我再去研究实现kitex