./
├── README.md
├── deplpy
│ ├── docker-compose.yaml // docker-compose
│ └── init.sql // 初始化数据库
├── go.mod
├── go.sum
├── pkg
├── restful // HTTP
└── service // RPC
├── order // 订单服务
└── stock // 库存服务
-
docker-compose 运行 dtm、etcd、mysql
cd deplpy docker-compose up -d
-
编译并运行 api、rpc 服务
- 运行 rpc 服务
# RPC 订单服务 cd service/order go run order.go -c etc/order.yaml
# RPC 库存服务 cd service/stock go run stock.go -c etc/stock.yaml
- 运行 api 服务
# HTTP cd restful go run order.go -c etc/order.yaml
-
测试
# 创建订单 - ✅成功 curl --request POST \ --url http://127.0.0.1:8888/order/create \ --header 'Accept: */*' \ --header 'Accept-Encoding: gzip, deflate, br' \ --header 'Connection: keep-alive' \ --header 'Content-Type: application/json' \ --header 'User-Agent: PostmanRuntime-ApipostRuntime/1.1.0' \ --data '{ "user_id": 1, "goods_id": 1, "num": 1 }'
# 创建订单 - ❌错误 回滚 curl --request POST \ --url http://127.0.0.1:8888/order/create \ --header 'Accept: */*' \ --header 'Accept-Encoding: gzip, deflate, br' \ --header 'Connection: keep-alive' \ --header 'Content-Type: application/json' \ --header 'User-Agent: PostmanRuntime-ApipostRuntime/1.1.0' \ --data '{ "user_id": 1, "goods_id": 1, "num": 9999 }'