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 协议 ,转载请注明出处!