写点什么

架构师训练营第一期大作业

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

1.设计概述

该系统是一个同城快递系统,是某公司同城快递核心业务系统,承载着公司每年上亿份快递业务的任务目标


1.1 功能概述


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

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

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

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

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

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


使用者包括下单用户,快递员。


1.2 非功能约束

1. 查询性能目标:平均响应时间<300ms,95%响应时间<500ms,单机 TPS>100;

  1. 下单性能目标:平均响应时间<800ms,95%响应时间<1000ms,单机 TPS>30;

  2. 系统核心功能可用性目标:>99.97%;

  3. 系统安全性目标:系统可拦截 Ddos 、 等常见网络攻击,密码数据散列加密,客户端数据 HTTPS 加密,外部系统间通信对称加密;

  4. 数据持久化目标:>99.99999%。


2 系统部署图于整体设计

2.1 部署图

说明:

该项目部署在 AWS 平台,使用原生云方式今生设计部署

1.AWS cloudfront 作为 CDN 服务,分发静态资源。

2.AWS ELB 作为负载均衡服务

3.AWS EKS 部署各个服务集群

4.关系数据库采用 AWS Aurora

5.队列服务采用 SQS

6.NOSQL 数据库采用 AWS DynamoDB

7.通知服务采用 SNS

以上服务都可以方便的进行继承和扩展,并且实行多区域部署,保证距离用户位置最近的服务进行响应,并且采用多区域的高可用性方式,保证服务的可用性。尤其是业务最繁重的位置更新,查询等服务由 AWS DynamoDB 承载可以满足高性能,高可用,自适应 scale in 和 out ,依托于整个云平台的有点,服务的集成,启用,维护也非常容易。


2.2 用例图


2.3 下单抢单活动图业务活动图,服务器时序图


2.4 订单状态模型图


用户头像

Leo乐

关注

还未添加个人签名 2018.10.17 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第一期大作业