分布式金融架构课
任杰
eBay 支付账务系统负责人,前蚂蚁金服架构师
19876 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 30 讲
开篇词 (1讲)
分布式金融架构课
15
15
1.0x
00:00/00:00
登录|注册

春节策划第3期 | 如何运用架构知识解读春运买票和手游案例?

你好,我是任杰。
今天是大年初六,估计你还在假期中,所以首先祝你假期愉快。不知道我在春节策划第 1 期留的两道主观题,你想到了怎样的方案呢?接下来,我就来公布参考答案啦,希望对你有所启发。

春运卖票案例分析

Q:除了支付以外,技术圈还有一个广为人知的高难度系统,那就是卖火车票(第 1 期的完整题干点击这里回顾)。12306 有雄厚的资金,因此可以选择一些特殊的软硬件方案来解决卖票的问题。作为一个金融系统背景的人来说,你应该如何分析这个春运卖票的问题呢?
A:我们先分析一下新闻数据。
从第一个新闻可以算出来,一天累计发票 1000 万张,所以约等于每秒 115 笔交易。这个平均值并不算太高。如果考虑到峰值情况,我们大致可以估算出,网站的峰值 TPS 在几百到几千左右。
从第二个新闻我们可以算出来,在峰值情况下网站的 QPS 接近 200 万。新闻里也提到了淘宝的订单 TPS 在 50 万左右,因此 12306 峰值的 QPS 是淘宝峰值 TPS 的 4 倍。
这两个数据的比较并没有给我们额外的信息,因为优化 TPS 的架构和优化 QPS 的架构非常不一样,这两者没有可比性。而且 TPS 会更难处理,TPS 值低一些很正常。
分析到这里还没完,我们还需要把这两个新闻合在一起看。春运卖票的 TPS 在几百,但是 QPS 在 200 万,因此它是一个查询量极其巨大,但是交易量正常的业务。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文通过分析春运卖票案例,展示了如何运用架构知识解决高难度系统问题。文章首先介绍了春运卖票系统的交易量和查询量,并提出了采用CQRS架构设计方案进行读写分离的优化思路。针对数据的写入操作,文章分析了状态数和数据操作复杂度,并指出大部分数据系统能够支持这一操作。针对数据的读取操作,文章强调了查询的复杂度和挑战,并提出了将出票信息异步推送给查询系统的解决方案。最后,文章总结指出,架构的真正挑战在于读的部分,但由于卖票业务不要求读写在同一个事务处理,这给了读操作极大的优化空间。整体而言,本文通过具体案例分析,展示了如何运用架构知识解决复杂系统问题,为读者提供了深入理解和应用架构知识的实际指导。文章内容涉及游戏架构设计思路,通过事件溯源架构解决游戏掉线问题,分析了命令、事件和状态的关系,以及游戏服务器和手机端的数据处理和状态更新方式。同时,强调了事件溯源提供的时光机、读模式节点等能力,并探讨了自动机的随机性问题。通过这些案例,读者可以深入了解架构设计在解决复杂系统问题中的应用,以及架构核心知识的通用性和合理使用方法。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式金融架构课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • liupan
    类似于商城订单有无必要使用事件队列和命令队列拆分执行?
    2021-09-03
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部