写点什么

架构大作业 -- 物流系统

用户头像
a晖
关注
发布于: 2020 年 09 月 16 日

1,设计概述

通达物流系统是一个同城快递业务物流系统,是公司发展同城物流战略的系统,承担着公司快速占领同城物流市场的目标。



1.1,功能描述

  • 下单:用户通过App发起快递下单请求并支付;

  • 位置上报:快递员通过自己的App上报自己的地理位置,每30秒上报一次;

  • 抢单通知:系统收到快递请求后,向距离用户直线距离5km内所有快递员发送通知;

  • 抢单:快递员需要进行抢单,第一个抢单的快递员得到配单,系统向其发送用户详细地址;

  • 取件:快递员到用户处收取快递,并记录到系统中:已收件;

  • 派件:快递员将快递送到目的地,并记录到系统中:已送达。

  • 信息:用户、快递员注册、登录维护收件人和发件人地址信息。



系统使用者包括:用户、快递员、管理员



1.2,非功能约束

上线后三个月日订单超1w,一年日订单超50w

  • 下单性能目标 平均响应时间<800ms, 95%响应时间<1200ms

  • 抢单性能目标    平均响应时间<800ms,95%响应时间<1200ms

  • 信息查询目标 平均响应时间<500ms, 95%响应时间<800ms

  • 高可用 核心业务系统99.95%可用性

  • 安全 可防攻击,数据加密



1.3,系统关键用例图



2,系统部署图与整体设计

系统上线时预计部署 11台物理机(1台负载均衡,4台应用服务器,3台分布式缓存服务器,2台MySQL 主从服务器,1台消息队列服务器)

2.1 系统部署图

  • 注册登录子系统:提供用户和快递员注册登录服务,部署一台服务器;

  • 物流子系统:提供取件,派件登记服务;

  • 推送子系统:通知快递员抢单,通知用户订单相关信息,和第三方推送服务对接;

  • 订单子系统:用户下单和快递员抢单服务,核心业务,和位置子系统,财务子系统,推送子系统交互;

  • 财务子系统:处理支付相关服务;



2.2,下单场景

  • 用户在app填写订单信息,提交给服务器;

  • 服务器创建订单,并请求财务子系统生成支付信息;

  • 用户支付订单。

2.2.1 活动图





2.2.2 时序图



2.3,抢单场景

  • 订单子系统从消息队列取出新订单处理

  • 订单子系统从位置子系统查询到附近5km的快递员名单发送消息给快递员抢单;

  • 快递员抢单;

  • 订单子系统处理抢单。

2.3.1 活动图

2.3.2 时序图





用户头像

a晖

关注

还未添加个人签名 2018.12.05 加入

还未添加个人简介

评论

发布
暂无评论
架构大作业--物流系统