李智慧 · 高并发架构实战课
李智慧
同程艺龙交通首席架构师,前 Intel & 阿里架构师,《大型网站技术架构》作者
23286 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 26 讲
李智慧 · 高并发架构实战课
15
15
1.0x
00:00/00:00
登录|注册

期中测试获奖用户名单及参考答案:通达系统架构设计

Hash表加GeoHash编码
Redis GeoHash命令
Redis的CAS命令
一年后300万订单
上线后50万订单
读写分离
主从复制
配单微服务
订单微服务
快递员微服务
用户微服务
订单状态模型图
抢单决策
实时位置上报
第三方支付
预估订单金额
创建快送订单
快递员
用户
快递员位置更新
抢单锁实现
缓存:Redis
数据库:MySQL
消息队列:ActiveMQ
微服务框架:Dubbo
网关:SpringBoot
负载均衡服务器:Nginx
APP端:安卓和IOS
开发语言:Java
日订单量
抢单逻辑处理活动图
数据库
微服务
网关服务器集群
负载均衡
微服务架构体系
订单管理模块
快递员App
系统用例图
核心使用者
支持当前和未来运营
利用现有资源
同城快送业务
通达公司背景
识别设计落地关键技术问题及对策的能力
完整思考一个系统整体架构的能力
用文档表达设计思路的能力
使用UML进行系统建模的能力
另外两位同学(未具体提及)
昵称为“外星人”(👽)的同学
关键技术落地实现
主要技术选型
非功能需求
系统架构
需求分析
参考答案概述
测试目标
获奖用户名单
期中测试获奖用户名单及参考答案:通达系统架构设计

该思维导图由 AI 生成,仅供参考

你好,我是李智慧。今天我们来公布一下期中测试的获奖用户名单和对应的答案。
我们期中测试的要求是写一个同城快送业务的系统架构设计文档,这个测试主要考察的目标包括:使用 UML 进行系统建模的能力,用文档表达设计思路的能力,完整思考一个系统整体架构的能力,以及识别设计落地关键技术问题及对策的能力。
在这里,感谢各位同学的积极参与,我收到了多位同学提交的答案,所有提交的答案都满足设计文档的格式要求,在设计的完整性上也基本达到了测试题目的要求,相信提交答案的同学也一定对如何从全局思考一个系统的架构设计,如何将设计思路表达出来有了感性而深刻的认识。
正如昵称为“外星人”(👽 )的同学在文档中所说:“一开始,其实认为自己在理论 + 思想上,已经基本算是及格的。但是,等到真的给自己一个业务,要去做设计的时候发现,并不是自己预想的那么简单。因为,这时候,你需要思考的并不是某一个单一的业务场景:秒杀业务,地理位置解决方案,全球化用户加速访问之类的。这时候,你面临的是一个更加真实的挑战,现在让你来做设计,你会怎么设计。”
我相信,这种对全局现实性问题的思考,会对你的思考问题方式和事物认知能力产生长远的影响,你会注意到以前不曾注意的东西,也会思考以前忽略了的一些问题。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

这篇文章是关于通达系统架构设计的期中测试获奖用户名单及参考答案。文章首先公布了期中测试的获奖用户名单,并对参与者的积极参与表示感谢。接着给出了一个系统架构设计的参考答案,包括需求分析、系统架构、主要技术选型和关键技术落地实现等内容。该系统采用微服务架构,使用Java开发实现,采用Nginx、SpringBoot、Dubbo、ActiveMQ、MySQL和Redis等技术。关键技术落地实现部分介绍了抢单的锁实现和位置信息存储方案。整体来看,该系统设计考虑了业务需求和技术实现,具有一定的技术挑战和实用性。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《李智慧 · 高并发架构实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(6)

  • 最新
  • 精选
  • 無名小卒
    老师,您在系统架构里说到“配单微服务需要记录所有快递员的当前位置”,从功能职责边界角度来看的话,我觉得快递员位置信息还是放到快递员微服务会合适些。 此外,除了快递员从取件到配送完成的过程需要获取定位信息,其实从抢单到取件的过程也可以获取定位,以供用户了解快递员是否到达取件地取件,提升用户体验。

    作者回复: 考虑很周到,这样分析,也许我们应该拆分一个独立的快递员位置微服务,供其他微服务使用。

    2022-04-13
    1
  • Steven
    转眼间课程就结束了,感谢老师的讲解和指导,受益匪浅。 尤其这最后一课:“因为期中测试的评论区只有三个作业链接,就以为稳了,结果因为字数不够被刷了。随便拷一段文字过来也达到要求了”,所以做事不能有侥幸心理,不能大意。 哈哈哈~ 师傅领进门 修行在个人。各位江湖再见。

    作者回复: 感谢你的坚持和参与,希望这个课程能给你带来收获和成长。

    2022-04-11
    2
  • Steven
    期中测试出来,陪跑了一把。陪跑的某一方面原因是我4月3日当天赶出来,字数没到 2000 吗? 提交方式是“把文档链接提交在评论区”,奖励要求是获赞最多且符合作业要求。可是评论区现在一共只有三个作业链接,其它的作业在哪了?点赞数是多少呢? 本着公平公正公开的原则,所以我还是有必要问个明白的,是吧,小编。 :) 回到学习上来,因为参考文档没写太细,以下几个问题,想听听老师的看法: 1,CDN,我认为是不需要的,没有什么静态资源需要放到CDN。 2,消息队列,我认为在这个量级下是没有必要采用消息中间队的,可以考虑用 Redis 这个轻量级的方案。 3,MySQL 数据库,我觉得主备即可,并不需要主从。 4,网关考虑了双机部署,那负载均衡服务器 Nginx 也是需要双机高可用的。 5,Redis 以什么方式部署?哨兵足够了吧。 另外,针对同城快递这个场景: 1,异地多活在什么量级需要考虑? 2,订单数据的冷热数据时间分界线设置为多少是合理的?

    作者回复: 谢谢参与~~ 优秀作业是我选的,没有选中的核心原因是字数,设计文档需要给相关者阅读,字数少本身就无法传递出足够的设计意图,所以我们作业是对字数有要求的。 1 快送用户发起订单的时候,需要给快送商品拍照,快递员可以看到商品照片,决定是否接单,CDN用来缓存商品照片。 2 可以用redis 3 MySQL主备和主从技术上是一回事 4 是的 5 可以 1 异地多活主要考虑是成本,只要公司觉得多活带来的收益能够覆盖成本,多大量级都可以搞多活 2 曾经在实践中设为1个月

    2022-04-11
    2
  • peter
    请教老师几个问题啊: Q1:网关为什么不用SpringCloud Gateway? 文中说“网关采用 SpringBoot 开发”,为什么要自己开发。SpringCloud有现成的网关“SpringCloud Gateway”。为什么不用现成的? Q2:Dubbo比http更好吗? 文中说“微服务框架采用 Dubbo”。一般的SpringCloud培训,服务间调用通常都用feign,feign实际上是http调用。选Dubbo,是因为Dubbo比http更好吗? Q3:CDN使用时需要业务逻辑吗? CDN怎么使用的?比如一个图片放在CDN上,APP访问此图片时,APP上的图片URL是CDN的URL,而不是后端服务器上的URL。是这样使用的吗? 如果是这样用的,假如CDN上没有该图片,怎么转到后盾服务器去获取?这个判断逻辑是谁实现的?是CDN自己实现的吗?还是网站开发人员需要在CDN上写业务逻辑?(或者只是在CDN上做个配置?没有用过CDN,瞎猜的) Q4:推送服务是怎么实现的? 推送服务是通过长连接来实现的吗?(类似于网约车)。是否可以用websocket实现?

    作者回复: 1 spring boot 包含 spring gateway 2 架构师喜欢Dubbo,团队有Dubbo经验,核心工程师熟悉Dubbo 3 同一个URL,URL请求要经过CDN,不管CDN有没有这张图片。有专门CDN开发的人实现CDN的逻辑 4 这里是安卓或IOS系统消息推送,也可以用长连接。可以用websocket

    2022-04-11
  • Geek_970bec
    新人白嫖7天免费看 3天看完 总结 偏架构 适合3年以上大厂开发看
    2022-04-24
    1
  • 无名
    老师,期间的图和文档能否分享一下呢
    2022-04-13
收起评论
显示
设置
留言
6
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部