kratos 框架商城微服务实战之用户服务API (五)
本文最后更新于:2 个月前
Go-kratos 框架商城微服务实战之用户服务 (五)
这篇主要给服务加入链路追踪,完善 consul,并测试 shop 的 http api 接口 文章写的不清晰的地方可通过 GitHub 源码进行查看, 也感谢您指出不足之处,欢迎大佬指教。
注:竖排 … 代码省略,为了保持文章的篇幅简洁,我会将一些不必要的代码使用竖排的 . 来代替,你在复制本文代码块的时候,切记不要将 . 也一同复制进去。
准备工作
安装 consul
| 1 |  | 
- 浏览器访问 http://127.0.0.1:8500/ui/dc1/services 验证是否安装成功 
jaeger 的安装
| 1 |  | 
- 浏览器访问 http://127.0.0.1:16686/验证是否安装成功 
user 服务添加配置代码
consul 的配置前几篇文章都已经添加过了,这里就不重复添加了
- user 项目中添加
| 1 |  | 
- 修改 user 的配置文件
| 1 |  | 
- 生成 user 的 conf 文件
| 1 |  | 
- 修改 grpc.go文件
| 1 |  | 
- 修改 main.go文件
| 1 |  | 
修改 wire.go 文件
| 1 |  | 
shop 项目中添加配置代码
前几篇已经把 consul service 的一些配置加入到了 config 文件中,这里就不重复添加了
- 修改 config.yaml 文件考虑到这个配置文件的重要性,这里贴出来了全部的配置 
| 1 |  | 
- 修改 conf.proto 文件考虑到这个配置文件的重要性,这里贴出来了全部的配置 
| 1 |  | 
- 生成新的配置
| 1 |  | 
- 修改链接用户服务的连接shop/internal/data/data.go 
| 1 |  | 
- 修改 server http 服务
| 1 |  | 
- 修改启动文件
| 1 |  | 
- 修改 wire.go 文件
| 1 |  | 
完整流程测试
- 启动 user 服务
| 1 |  | 
- 启动 shop 服务
| 1 |  | 
- consul 验证是不是两个服务都启动了浏览器访问 http://127.0.0.1:8500/ 

访问用户创建接口
这里使用的是 apipost 接口测试工具, 具体操作看图示,注意传入的参数类型为 json

如图正确返回了,就证明接口访问成功,可以去数据库表中验证,是否是同样的数据插入
- 验证链路追踪浏览器访问 http://127.0.0.1:16686 
如图所示选择 shop.api 然后点击下方的 Find Traces
搜索之后点击进去,看到如图

这里需要注意,在咱们的代码中并未设置成统一的 SpanId,只有 TraceId 是一样的。
结束语
整个服务流程已经通了,这里需要注意的点是,访问用户登陆接口的时候,需要先获取一个验证码接口,然后拿到验证码给的 ID 和 code 进行登陆请求。code 是个 url 需要通过浏览器访问才能看到具体 code 是什么。还有查询用户详细信息的时候,需要携带注册或登陆给的 token。携带的方式是 bearer auth 的方式。
接下来会开始完善用户服务的其他信息,如:用户的收获地址之类的。感谢您的耐心阅读,动动手指点个赞吧。
参考
Go-kratos https://go-kratos.dev/docs/
关注我获取更新

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!