# gozero-mall **Repository Path**: wordenfan/gozero-mall ## Basic Information - **Project Name**: gozero-mall - **Description**: 基于go-zero微服务框架开发的mall微服务系统 - **Primary Language**: Go - **License**: MPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2024-05-12 - **Last Updated**: 2025-11-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gozero-mall 此项目基于go-zero微服务框架开发,已实现电商微服务架构高并发下的常见场景,包括jwt、crsf、熔断、限流、分布式事务等。对于redis、mysql集群等受限于本地环境未作实现,可自行配置。 #### 组件 - go-zero微服务框架、gorm - 中间件:jwt、cors - 限流器、熔断器、jaeger、prometheus、grafana - dtm事务 - redis、mysql、kafka、etcd #### 版本特别说明 1. gollang = v1.20.12 2. gprc = v1.47.0 3. go-zero = v1.3.4 4. dtm = v1.80.0 5. etcd = v3.5.4 #### 安装部署 - docker-compose部署 - /doc/deployV2 为 docker-compose 部署目录 - brew install dtm (秒杀时需开启) - dtm -c config.yml - k8s部署: - yaml文件路径:doc/deployV2/k8s - k8s用到阿里云的私有镜像仓库 - 修改挂载pv的映射目录 #### 本地调试启动顺序 - http://localhost:36789/ //dtm管理后台 - http://localhost:16686/ //jaeger管理后台 - http://localhost:28080/etcdkeeper/ //etcdkeeper管理后台 - go run user.go - go run product.go - go run order.go - go run api.go - go run seckill_dtm.go - go run seckill_rpc.go #### 部分API列表 - 登录:[POST] /v1/user/login - 验证码:[GET] /v1/captcha - 用户详情(Jwt中间件):[POST] /v1/user/info - 用户列表:[GET] /v1/user/list?cursor=1715159615&ps=3 - 商品详情:[GET] /v1/product/detail?product_id=1 - 订单列表:[GET] /v1/order/list?uid=123 - 评论列表:[GET] /v1/product/comment?product_id=2&cursor=1715755144&ps=3 - 商品列表(缓存分页、rpc聚合):[GET] /v1/product/list?category_id=2&ps=4&cursor=1655482682 - 商品秒杀(分布式事务、Lua、限流器、熔断、kafka):[POST] /v1/order/seckill