首页 > 其他分享 >23-1 期中测试 | 动手写一篇你自己的设计文档吧!

23-1 期中测试 | 动手写一篇你自己的设计文档吧!

时间:2023-05-04 15:11:37浏览次数:49  
标签:架构设计 23 系统 快递 期中 文档 抢单 服务器

你好,我是李智慧。

现在课程已经过半,我们已经学习了8个典型应用的架构设计,不知你对软件建模和设计文档掌握了多少,又对架构设计有了哪些思路呢?

回到我们这个专栏的目的:一个是了解典型的高并发系统架构是如何设计的;另一个就是熟悉架构设计文档的写法和设计建模的方法。

所以,我期望你学习每一节课,不是在复习已经学过的技术,而是专门思考怎么去整合各种技术,构建一个完整的设计文档。这样,对于各种典型的互联网应用,你都能信手拈来,完成它的架构设计。

所谓“知而不行,只是未知”,为了帮你检测学习效果,我特地发起了一个架构设计活动:请你参考专栏中设计文档的写作方法,完成下方要求的系统架构设计文档。对于需求以及方案不明确的地方,你可以按照自己的理解进行设计,但是请你注意文档要前后一致、逻辑自洽,具有可实现性

在课程尾声,我会从中挑选出有代表性的文档做针对性点评,并对大家的高频问题进行解答。

另外,符合作业要求且获赞数最多的前3位同学,我们也准备了奖励,以下三种任选其一:

  • 与我进行半个小时的1V1语音沟通,我会解答你关注的一些问题(不局限于作业);
  • 极客时间赠送的原创马克杯
  • 开通极客时间超级会员年卡,获得50元返现。

文档提交方式:

请你将文档发布在InfoQ写作平台,并把文档链接提交在评论区(提示:若需申请入驻infoQ写作平台,请在留言区留下暗号“滴滴”,会有专人帮你开通)。

活动截止时间:

2022年4月10日12点。

期待在留言区看到你!

背景介绍

通达是某上市公司全资投资成立的一家物流快递公司,主要进行同城快递业务,公司刚刚成立,主要竞品为https://ishansong.com/

公司组建了20人的技术部门,准备两个月后系统开发完成上线,你是系统架构师,请你完成第一版系统架构设计文档。

功能需求

  • 用户通过app发起快递下单请求并支付
  • 快递员通过自己的App上报自己的地理位置,每30秒上报一次
  • 系统收到快递请求后,向距离用户直线距离5km内的所有快递员发送通知
  • 快递员需要进行抢单,第一个抢单的快递员得到配单,系统向其发送用户详细地址
  • 快递员到用户处收取快递,并记录到系统中:已收件
  • 快递员将快递送到目的地,并记录到系统中:已送达

订单量预估:预计上线三个月后,日订单50万。

关键技术方案参考建议

  • 系统采用微服务架构,用户请求通过负载均衡服务器分发给网关集群
  • 使用消息队列向5km内的快递员发送通知(消费者服务器获取的消息内容包括:用户地址,快递员列表)
  • 快递员实时位置缓存在分布式缓存Redis中
  • 数据存储使用MySQL,第一个上线版本不要求做数据分片,但要做主从复制

文档要求

文档中应该包括以下UML模型:

  • 系统关键用例图,描述产品主要功能需求
  • 下单抢单场景的业务活动图,即泳道模型(泳道包含不限于:用户,快递员,相关微服务)
  • 系统部署模型:描述系统服务器关系(如:网关服务器,微服务服务器,负载均衡,分布式缓存,消息队列服务器,消息消费者服务器,数据库读写分离)
  • 下单抢单场景的服务器时序模型
  • 订单状态图模型

文档全文不少于2000字。

标签:架构设计,23,系统,快递,期中,文档,抢单,服务器
From: https://www.cnblogs.com/ningxinjie/p/17371286.html

相关文章

  • PKUSC & GDCPC & APIO 2023 游记
    离得太近,游记打算扔一起。有没有神仙面基啊/kel。PKUSC2023Day-?突然听说不给NOILinux,震惊。后来确认了这个传言,紧急下载了红色的(?)Devc++开始用。Day-2/-1用windows打模拟好痛苦,怎么回事呢。不会多项式。不会字符串。我要坚信他不考。该打点什么板子呢(?GDCPCDa......
  • 基于ChatGPT的文档知识库客服系统-支持上传网址/文本/docx等数据
    现在,很多公司都有自己的内容知识库,会产生大量的碎片话的内部知识,但是这样内部知识难以整合搜索。我开发的文档知识库客服系统gofly.v1kf.com,可以应用于企业内部知识库管理,用户可以使用自然语言提问,让ChatGPT自动归纳总结企业知识信息,帮助员工快速获取所需知识,提升资源流转效率......
  • golang 解析处理word文档扩展包
    github.com/unidoc/unioffice该扩展包对word操作功能比较全,但为商业使用,注册后有100次的试用,具体使用就不详细说明了,具体可以看https://github.com/unidoc/unioffice-examplesgithub.com/carmel/gooxml该扩展包为unidoc/unioffice的免费版,为收费版的1.4.0版本,虽然功能没有......
  • 2023/05/04
    (点击黑色题号进入题目~~)1.树链剖分$\color{#000000}{P3258}$$\color{#7CCD7C}{松鼠的新家}$$\color{#000000}{P3384}$$\color{#6495ED}{模板}$$\color{#000000}{P5903}$$\color{#6495ED}{模板(树上k级祖先)}$$\color{#000000}{P4211}$$\color{#B23AEE}{LCA......
  • 一文了解ODD2023 Compiler SIG组开放工作会议内容!
    4月21日,作为openEulerDeveloperDay2023重要的一环,CompilerSIG组开放工作会议圆满举行。本次CompilerSIG组开放工作会议主要围绕GCC、LLVM、BiShengJDK的版本规划进行介绍,吸引了现场及线上开发者们的热烈讨论。下面就让我们一起来回顾本次会议的精彩内容!2023GCC版本规划及特......
  • Spring AOP官方文档学习笔记(三)之基于xml的Spring AOP
    1.声明schema,导入命名空间(1)如果我们想要使用基于xml的springaop,那么,第一步,我们需要在xml配置文件中声明springaopschema,导入命名空间,如下这是一个标准的模板<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmln......
  • oepkgs 社区开放软件包服务正式上线!亮相openEuler Developer Day 2023
    4月21日,中国科学院软件研究所在openEulerDeveloperDay2023(以下简称ODD)上,正式公开开放软件包服务(OpenExternalPackagesService,以下简称oepkgs)。oepkgs官网:https://oepkgs.net/。oepkgs由中国科学院软件研究所、中科南京软件技术研究院、openEuler社区共同发起并提供支持。......
  • WWW‘23 | Apr 30-May 4,交叉新兴领域顶级会议!清华唐杰任大会主席!
     WWW,曾用名为TheInternationalConferenceofWorldWideWeb,从2018年开始更名为Thewebconference。WWW为交叉,新兴,综合领域的顶级会议,CCFA类,CoreConferenceRankingA*类会议,H5指数80,ImpactScore14.69。会议的目的是为全世界的互联网领域研究人员提供一个学术交流平台,共同......
  • 【Call for papers】2023年CCF人工智能会议信息汇总(持续更新)
    本博文是根据2022年CCF会议推荐的人工智能领域相关会议目录撰写。一、截稿时间总览截稿时间的总时间轴内容将会持续更新......往年投稿及录用情况及链接详见图片后面的内容。二、会议详细目录由于一些会议的投稿时间还没公开,因此根据往年投稿时间在表格中使用 ~符号表示大概的投......
  • 【一句日历】2023年5月
    【2023年5月1日·星期一】工作是大自然的医生,人类幸福的源头。                                                 ——加伦【2023年5月2日·星期二】不要简单地相信直......