这是验证秒杀抢购和订单功能的 8 个服务框架图:
![eshop-framework]( https://raw.githubusercontent.com/zhufuyi/sponge_examples/main/assets/eshop-framework.png)
| 服务 | 协议 | HTTP 端口 | gRPC 端口 |
|------------------|-------------|------------|-----------|
| eshop_gw 内聚 api 网关服务 | HTTP | 8080 | - |
| user 用户服务 | HTTP, gRPC | 30080 | 30082 |
| product 产品服务 | HTTP, gRPC | 30180 | 30182 |
| order 订单服务 | HTTP, gRPC | 30280 | 30282 |
| stock 库存服务 | HTTP, gRPC | 30380 | 30382 |
| coupon 优惠券服务 | HTTP, gRPC | 30480 | 30482 |
| pay 支付服务 | HTTP, gRPC | 30580 | 30582 |
| flashSale 秒杀抢购服务 | HTTP, gRPC | 30680 | 30682 |
使用负载测试工具 k6 分别对**秒杀抢购 api**和**提交订单 api**进行压测,验证最终的数据一致性正确。压测结果与机器配置、网络环境、数据库配置等因素有关,这里不展示压测数据了。
这是 [**8 个微服务的源码和从 0 开始搭建服务的文档说明**]( https://github.com/zhufuyi/sponge_examples/tree/main/_14_eshop)。
注:源码的 2 个目录下代码基本一样,只是代码组织结构稍有不同,一个是微服务多仓库(multi-repo)代码组织结构,另一个是微服务单仓库(mono-repo)代码组织结构,8 个服务代码是生成的,然后按照生成的示例模板编写具体的业务逻辑代码。 |
|