一个商城项目可拆分用户服务(user),订单服务(order),产品服务(product),支付服务(pay),售后服务(afterSale),……
每个服务都可以再分为 api
服务和 rpc
服务。api
服务对外,可提供给 app
调用。rpc
服务是对内的,可提供给内部 api
服务或者其他 rpc
服务调用。
3.1 用户服务(user)
api 服务 |
端口:8000 | rpc 服务 |
端口:9000 |
---|---|---|---|
login | 用户登录接口 | login | 用户登录接口 |
register | 用户注册接口 | register | 用户注册接口 |
userinfo | 用户信息接口 | userinfo | 用户信息接口 |
……. | ……. | ……. | ……. |
3.2 产品服务(product)
api 服务 |
端口:8001 | rpc 服务 |
端口:9001 |
---|---|---|---|
create | 产品创建接口 | create | 产品创建接口 |
update | 产品修改接口 | update | 产品修改接口 |
remove | 产品删除接口 | remove | 产品删除接口 |
detail | 产品详情接口 | detail | 产品详情接口 |
……. | ……. | ……. | ……. |
3.3 订单服务(order)
api 服务 |
端口:8002 | rpc 服务 |
端口:9002 |
---|---|---|---|
create | 订单创建接口 | create | 订单创建接口 |
update | 订单修改接口 | update | 订单修改接口 |
remove | 订单删除接口 | remove | 订单删除接口 |
detail | 订单详情接口 | detail | 订单详情接口 |
list | 订单列表接口 | list | 订单列表接口 |
paid | 订单支付接口 | ||
……. | ……. | ……. | ……. |
3.4 支付服务(pay)
api 服务 |
端口:8003 | rpc 服务 |
端口:9003 |
---|---|---|---|
create | 支付创建接口 | create | 支付创建接口 |
detail | 支付详情接口 | detail | 支付详情接口 |
callback | 支付回调接口 | callback | 支付回调接口 |
……. | ……. | ……. | ……. |
3.5 创建项目目录
- 创建
mall
工程
1 | bash复制代码$ mkdir mall && cd mall |
- 创建
common
目录
1 | bash复制代码$ mkdir common |
- 创建
service
目录
1 | bash复制代码$ mkdir service && cd service |
- 创建
user api
,user rpc
,user model
目录
1 | bash复制代码$ mkdir -p user/api |
- 创建
product api
,product rpc
,product model
目录
1 | bash复制代码$ mkdir -p product/api |
- 创建
order api
,order rpc
,order model
目录
1 | bash复制代码$ mkdir -p order/api |
- 创建
pay api
,pay rpc
,pay model
目录
1 | bash复制代码$ mkdir -p pay/api |
- 最终项目目录
1 | bash复制代码├── common # 通用库 |
项目地址:github
上一篇《go-zero实战:让微服务Go起来——2 环境搭建》
下一篇《go-zero实战:让微服务Go起来——4 用户服务(user)》
本文转载自: 掘金