写点什么

大作业 2

用户头像
Yangjing
关注
发布于: 2021 年 01 月 03 日

同城快递系统设计

设计概述

功能概述

  • 顾客在用户 APP 下单

  • 下单后推送给附近的快递员

  • 快递员通过管理端 APP 抢单

  • 快递员完成顾客订单的配送


设计概述

非功能概述

  • 系统需要弹性可伸缩。预计 3 个月后日订单超 1 万,1 年后日订单超 50 万。

  • 早期快速迭代,简单部署,非核心直接用第三方服务。预计 2 个月上线。

  • 性能达到互联网要求。查询平均响应时间 <300 ms。


系统部署图



  • 系统上线时预计部署 4 台物理机,4 个子系统,3 台数据库(1 主 1 从),3 台消息队列。

  • 消息推送使用第三方服务。

  • 数据库和消息队列使用相同机器,数据库按服务拆为 4 个库,读写分离(shardingsphere),消息队列使用 RabbitMQ。

  • 微服务框架使用 Dubbo。


系统序列图

  • 下单、支付

  • 快递员位置上报

  • 已支付订单推送到附近快递员 APP

  • 快递员抢单

  • 快递员配送后,更新订单状态


下单抢单活动图


订单位置匹配算法:

  • 通过轮询所有快递员,查找到距离 5km 快递员,发送订单信息


抢单

  • 通过 redis 缓存实现分布式锁


订单状态图


发布于: 2021 年 01 月 03 日阅读数: 24
用户头像

Yangjing

关注

还未添加个人签名 2017.11.09 加入

还未添加个人简介

评论

发布
暂无评论
大作业2