极客大学架构师训练营大作业

背景

在这里插入图片描述

产品需求

在这里插入图片描述

技术方案建议

在这里插入图片描述

练习要求

在这里插入图片描述

用例图

在这里插入图片描述

说明:
● app用户:进行下单和支付操作。
● 快递员:使用app进行抢单和状态更新。
● app后台:对终端app使用者的操作进行响应,派单给快递员且响应快递员的抢单请求。

泳道图

在这里插入图片描述

泳道图可以描述下单和抢单的完整过程。

部署图

在这里插入图片描述

说明:
● 负载均衡服务器:分担前端请求在大并发下的压力。
● 下单后台集群:接收前端下单支付及抢单请求。
● MQ服务器:用于存储可用于通知App的订单和快递员列表数据。
● 消费者服务器:拉取MQ订单和快递员数据,通知到快递员app用于抢单。
● 生产者服务器:拉取redis中快递员定时上报的位置信息,结合订单数据生产可用于通知快递员抢单的完整消息。
● 分布式缓存服务器:redis集群用于存储快递员定时上报的位置数据。
● Mysql主从服务器:存储订单数据及其他业务数据。

时序图

用户下单&支付

在这里插入图片描述

说明:用户下单并支付,订单通过后台入库到mysql主库,主库同步数据给备库。

快递员位置上报

在这里插入图片描述

说明:快递员会周期性上报自己的位置信息到后台,后台将位置信息存贮在redis集群。

系统派单

在这里插入图片描述

说明:
系统派单操作由生产者发起,整合redis快递员位置信息和mysql订单数据,推送到MQ,消费者接收到MQ消息通知后,发送消息到后台,然后后台通知给前端App,快递员看到订单通知的消息,发起抢单,抢单成功的快递员联系用户取件,更新取件状态,送货。

订单状态图

在这里插入图片描述

  • 后记:
    记得是5月30日,也就是开班的前一天晚上报的名,时间过得真的太快了,现在想想如果当时没有报名,那么这三个月的时间可能也就是匆匆而过了,把时间花在正确的地方,是对待青春的最好方式。
Jeff.Star CSDN认证博客专家 Java
[努力支撑经历,经历支撑能力.]
[思路决定出路,细节决定成败.]
[聚焦,分享,转化,参与.]
[数据在流动,技术在流动,我们也要流动.]
微信:TiensC
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 博客之星2020 设计师:CY__0809 返回首页