分布式技术原理与算法解析
聂鹏程
智载云帆 CTO,前华为分布式 Lab 资深技术专家
39663 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 43 讲
分布式技术原理与算法解析
15
15
1.0x
00:00/00:00
登录|注册

33 | 知识串联:以购买火车票的流程串联分布式核心技术

数据复制
数据分布
存储系统三要素
信息交互
分布式通信
C、A、P策略
远程通信
分布式事务
数据一致性
故障隔离
限流算法
分布式锁
分布式故障恢复
分布式选主
数据索引
高可用策略
流量控制
负载均衡
分布式数据存储
用户购买火车票
用户查询火车票
铁路局发布火车票
分布式技术在购买火车票流程中的应用

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

你好,我是聂鹏程。今天,我来继续带你打卡分布式核心技术。
还记得在专栏之初,我和你分享的“分布式四纵四横知识体系”吗?截止到目前,我已经带你学习了四横和三纵,包括分布式计算、分布式存储与管理、分布式通信、分布式资源池化、分布式协同、分布式调度和分布式追踪与高可用的关键技术(由于分布式追踪、分布式部署虽属于支撑技术,但并不会影响业务的构成,因此我没有在专栏中展开)。
但学以致用才是最终目的,所以在接下来的模块中,我将通过两篇总结性质的文章,为你串联起前面讲到的核心知识点,看看它们在业务中是如何应用的。
今天,我就先以购买火车票的流程,带你串联下整个专栏涉及的分布式核心技术吧。
首先,为方便你理解,并抓住其中涉及的核心技术,我对购买火车票的流程做了一个简化,大致划分为三大核心步骤:
首先,铁路局向购票系统发布火车票;
然后,用户通过系统查询火车票,找到需要的火车票后购买;
最后,购票系统给用户响应,完成购票。
这个流程看似简单,但涉及了我们之前讲过的很多知识。
这里,我有个小建议,在学习后面的内容前,你可以先自己思考下这个过程涉及了哪些知识点,然后再与我接下来的讲述进行对比,以验证自己对之前内容的掌握程度。这样一来,你可以加深对已掌握知识的理解深度,也可以查漏补缺进而有针对性地复习其他内容。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文通过火车票购买流程展示了分布式技术在实践中的应用。首先,铁路局发布火车票涉及分布式数据存储技术,包括数据分布、数据复制和负载均衡。用户查询火车票需要考虑并发请求量大、服务器故障检测和故障恢复等问题,涉及分布式高可用技术。用户购买火车票的过程需要考虑集群架构、分布式选主和备升主等策略,体现了分布式资源管理与负载调度的重要性。购买火车票会改变数据,涉及数据一致性、分布式事务和分布式通信等技术。整体而言,本文通过实际业务流程,展示了分布式技术在火车票购买流程中的应用,为读者提供了对分布式核心技术的全面了解。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式技术原理与算法解析》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(9)

  • 最新
  • 精选
  • 安排
    主备和主从的区别是什么呢? 为什么有时候说主备,但是又把被叫做slave节点,都搞混了

    作者回复: Master、Slave其实在中文中对应的是主从的意思。节点间存在主从关系只有在集中式架构中才会出现。 在分布式架构中除了主从关系,还有主备关系,主备关系是一种角色对等但互为备份的关系。当主故障了,备会顶替主对外提供服务,有点类似我们足球队中的替补球员。主备关系在集中式架构和非集中式架构中都存在。

    2019-12-22
    2
    4
  • 任鹏斌
    老师能不能讲讲高并发下的库存扣减方案?如果完全依赖数据库的话容易出瓶颈吧?一般的大厂如何做这一块的?是不是要借助缓存?缓存的话要考虑缓存和数据库的一致性。感觉这一块要做好不容易。
    2019-12-13
    1
    8
  • 阿卡牛
    分布式系统里面涉及太多知识点了,细节才是魔鬼
    2019-12-13
    5
  • Jackey
    发现前面的知识忘差不多了😂需要规划一下二刷了
    2019-12-13
    3
  • 随心而至
    重要的文章看三遍👀
    2019-12-13
    3
  • leslie
    现在的系统RMDB真正承担的是和付款相关的事情,MQ和NOSQL 承担了上面的环节。我记得这套系统早期是单独用了sybase,然后跪了,换了oracle效果提升不明显。 如同老师之前课程所说的电商案例:拆分成了多个库,付款环节都有等待时间,这个时间才是真实与数据库的交互;最近看到的一些系统这方面做的很不好,导致数据库异常以及有时压力过大,这也是引发今年我仅仅是数据库性能优化问题然后就把组成原理和系统架构以及老师的分布式技术原理不惜一遍的原因。 从原理的角度去看:有时有些业务问题更加看的清楚更能明白问题的根源所在;知道问题的根据就知道后续如何真正去处理和解决。 谢谢老师今天的分享:一路跟随的过程其实很快,不知不觉发现课程居然快结束了,从初秋已至深冬了。谢谢老师一路的教诲,期待老师下周的分享。
    2019-12-13
    3
  • 回想一下我们的系统使用了那些分布式技术: 1:分布式负载均衡,几乎所有的服务都是分布式的,所以,负载均衡策略必不可少 2:分布式锁,比如控制只有一个业务用户可以导入数据或者刷新缓存 3:RPC、MQ、REDIS这些标配也少不了 4:有集群那分布式选主,故障隔离和恢复也必不可少 回想一下老师讲的这些都是会使用到的,在分布式系统中,这些好像是自行车的链条一般一个紧扣一个少了那个环节,整个链条就不再完整了,那自行车想跑起来就困难啦! 这一整套技术信息量比较多,也不是一个人或一个团队就能搞定的,就像分布式系统一样研发团队也是分布式的。有不同的研发小组就像一个小集群,里面会有一个小组长,然后有了需求组长会负责负载均衡的分发出去,根据不同组员的能力采用不同的策略。
    2020-02-21
    2
  • 大魔王汪汪
    老师问下,是否采用半同步复制技术这种需要视业务场景而来吧,如果对于数据一致性要求很高是否完全采用同步方案呢
    2019-12-16
    2
  • 蓝魔丶
    文中“比如,用户 A 购买 2019 年 10 月 12 日北京到上海的 T12 的火车票,已购买成功,座位号为 3 车厢 23B。假设主节点和备节点之间数据不一致,主节点上已经减去该火车票,但未在备节点上减去。此时,若主节点故障,备节点升主,用户 B 此时申请购买相同火车票,系统将 3 车厢 23B 火车票又卖给了用户 B。等到乘车时,用户 A 和 B 就难免“打架”了”这个问题的解决方案是什么呢?
    2019-12-14
    3
    2
收起评论
显示
设置
留言
9
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部