本项目是2024年字节青训营11月的后端项目,使用微服务架构来实现电子商城。具体要求见项目方案
参考Gomall完成
-Go -cwgo -Kitex -Gorm -MySQL -Redis -Consul -Prometheus -OpenTelemetry
- 认证中心
- 分发身份令牌
- 校验身份令牌
- 用户服务
- 创建用户(注册)
- 登录
- 商品服务
- 查询单个商品信息
- 查询同类商品信息
- 根据信息搜索商品
- 购物车服务
- 加入购物车
- 清空购物车
- 获取购物车信息
- 订单服务
- 创建订单
- 获取订单
- 结算
- 订单结算
- 支付
- 支付
- 缓存服务
- 用户登录后生成的token存储在redis中
- 商品查询后存储在redis中
- 可观测性服务
- Prometheus - 时间序列指标
- OpenTelemetry - 链路追踪
- Loki - 日志
- Grafana - 提供可视化
-
获取源码
git clone https://github.com/hourhl/Qmall.git
-
启动项目的依赖,包括consul作为服务注册中心、Grafana作为可视化监控等
cd Qmall docker-compose up -d -
启动模块 以user服务为例(其依赖于auth服务,故先启动auth服务)
# 启动auth服务 cd app/auth go mod tidy go run . # 启动user服务 cd ../user go mod tidy docker-compose up -d go run .
可以在consul的UI界面看到auth服务和user服务注册成功
-
监控
- 通过consul查看注册的服务 : http://127.0.0.1:8500/ui/dc1
- 通过Grafana进行可视化监控 :http://127.0.0.1:3000
- 通过Jaeger进行可视化监控 : http://127.0.0.1:16686