XXX同城快递系统概要设计
1 设计概述
XXX同城快递系统是一个提供同城快递的下单、收单和送单的系统,是公司的核心业务,决定了公司的主要发展方向。
1.1 功能概述
系统的主要功能包括如下几点:
- 用户通过APP发起快递下单请求并支付
- 快递员通过APP定期上报自己的地理位置
- 系统受到订单后通知5Km内的快递员
- 快递员进行抢单,获取用户详细地址
- 快递员到用户地址收取快递并记录:已收件
- 快递员将快递送到目的地并记录:已送达
系统的使用者主要有普通用户和快递员。用例图如下所示:
1.2 非功能约束
系统预计上线三个月后日订单超过1万,一年后日订单超过50万。
2 系统部署图与整体设计
系统上线时预计部署15台物理机,10个子系统。
2.1 系统部署图
- 负载均衡服务器将APP的请求均衡转发到网关集群之中
- 网关集群用来提供APP所需API的入口,对请求进行校验和过滤
- 下单服务提供给用户下单相关功能
- 抢单服务提供给快递员定位上报和抢单相关功能
- 消息队列提供了发布订阅基础功能
- 订单服务用来管理订单相关数据的访问和更新
- 支付服务用来管理订单支付流程以及与第三方集成功能
- 位置服务用来管理管理快递员位置信息
- Mysql集群采用主备模式提供订单等信息存储
- Redis集群用作快递员地理位置的缓存服务
2.2 下单抢单场景活动图
如下图,用户下单后,选择支付方式支付,支付成功后,系统通知快递员进行抢单,快递员抢单成功后,获取到用户的地址,前往用户地址收取快递,快递送达后,订单完成。
2.3 下单抢单场景时序图
下单抢单场景时序图如下:
2.4 订单状态图
订单状态图如下