写点什么

大作业

用户头像
Geek_2e7dd7
关注
发布于: 2020 年 09 月 14 日

系统使用者包括下单用户和快递员

包括订单,位置,推送三个部分

订单模块管理接受新订单,支持抢单,维护订单状态

位置模块存储快递员当前位置,可查询给定位置附近的快递员

推送服务把抢单消息发给快递员,抢单成功后把订单地址发给快递员



下单/抢单业务活动图,用户新建订单,系统通知快递员,快递员参与抢单/送货





网关接受请求,交给负载均衡服务器,转发给应用服务器

负载均衡至少部署两个,保证高可用

应用服务器降位置信息存储进redis,订单信息存进DB

DB主主复制提供高可用,读写分离提高性能

订单创建写主库,保证逻辑正确。订单状态更新发消息,用consumer异步更新,在高并发时缓解DB压力

订单/位置/推送服务无状态,易扩容,可fail over。每个app server上都部署一个副本。





用户下单的时序图

先写DB,成功告知用户。接着查寻周围的快递员并推送有新订单的消息。



订单状态图:

用户新建/支付后订单可以被快递员抢单,被抢单后待快递员取件,配送成功则订单完成。未被抢单/取件配送失败会回到等待快递员抢单的状态。



用户头像

Geek_2e7dd7

关注

还未添加个人签名 2018.11.08 加入

还未添加个人简介

评论

发布
暂无评论
大作业