GO语言笔记服务项目(3)|青训营笔记

177 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第3篇笔记

在第六次课中来自字节跳动的老师为我们耐心讲解了一个用go语言实现的笔记服务demo,在课后我尝试自己复现了一遍这个demo进行学习,这里简要记录一下学习经验与心得体会。

书接上回,我们讲到了Gorm及其安装方法,今天继续看其它的知识。

Etcd

简介

Etcd是一种开源的分布式统一键值存储,用于分布式系统或计算机集群的共享配置、服务发现和的调度协调。

Opentracing

简介

Opentracing项目定义了一套分布式追踪的标准,以统一各种分布式追踪实现的实现。可以采集程序运行时的信息,可观测每个服务的耗时。

项目代码目录结构介绍

学习完了项目用到的工具,我们开始正式看一看我们的项目。

idlthrift / proto 接口定义文件
kitex_genKitex自动生成的代码
pkgconstants常量
errno错误码
middlewareKitex的中间件
boundKitex Transport Pipeline-Bound 扩展
tracerJarger 初始化
apidemoapi服务的业务代码
cmdnotedemonote服务的业务代码
userdemouser服务的业务代码

代码构建

在听完课程之后,我打算从只有两个thrift文件开始构建一遍这个项目,以加深对项目的理解。

创建目录

首先将项目目录创建好,以备后续编写项目。项目目录如下:

image.png

然后依照原项目,将各个接口写入note.thrift与user.proto。注意,这里使用了两种协议,是为了更好展示kitex特性,实际项目中需要注意保持一致。

参考文档