大作业:通达物流系统设计
2020-09-25 10:41:40 0 举报
下单抢单系统设计
作者其他创作
大纲/内容
类图(高阶)
时序图
状态图
快递员抢单
用户微服务
更新订单状态:已支付
下单
推送消息
发布下单成功消息
更新订单状态:已配单
订单-微服务
架构师
快递员
抢单成功
详细设计
Paas层
--订单状态图 --
配送失败
活动图
推送微服务
API GateWay
查找附近的快递员
待支付
已支付
配送中
协作图
收货地址
K8s集群(Docker容器化服务)
快递员微服务
支付处理
私有云
下单抢单方案设计说明:
-- 系统设计目标 --
开发工程师
CDN
消费新订单推送消息
支付
组件图
完成订单
发起支付
服务层
用户-微服务
已配送
超时未支付
用户
支付失败
快递员-微服务
支付回调
系统背景:
第三方支付系统
推送-微服务
上报位置
抢单
Iaas层
-- 用例图 --
创建订单
存储层
用户下单
静态
消息队列RocketMq/RabbitMq
-- 下单活动图 --
取件、配送
更新位置
发送新订单推送消息
概要设计
动态
配单-微服务
待取件
取件失败
消费下单成功消息
订单微服务
Nginx负载均衡服务器
支付成功
-- 系统部署图 --
配送成功
查找附近快递员
配单微服务
公有云:阿里云、腾讯云、华为云
快递员实时位置缓存在Redis,订单数据存储使用Mysql,一年50万数据暂不需要数据分片,配置主从,消息队列使用RocketMq1. 用户下单:请求通过负载均衡服务器转发给api网关,网关请求订单服务集群2. 订单服务:同步入库,并发布下单成功消息,3. 配单服务:处理下单成功消息,获取5km内的快递员,发布新订单推送消息3. 推送服务:收到推送消息,推送订单给快递员4. 快递员抢单:请求通过Ng转发给api网关,网关请求订单服务集群5. 订单服务:记录抢单快递员和订单关系到redis,setNX成功则抢单成功,返回订单收货地址。6. 快递员:上门取件。7. 快递员:完成配送。
收到新订单消息
用户APP
完成取件
产品经理
取件成功
类图
部署图
系统部署方案说明:
用例图
Push消息
用户支付
通过Redis setnx 抢单
快递员App
0 条评论
下一页