跳至主要內容
《深入浅出分布式技术原理》笔记

《深入浅出分布式技术原理》笔记

开篇词 掌握好学习路径,分布式系统原来如此简单

导读:以前因后果为脉络,串起网状知识体系

分布式系统解决了什么问题

  • 首先,分布式系统解决了单机性能瓶颈导致的成本问题。——水平扩展
  • 然后,解决了用户量和数据量爆炸性地增大导致的成本问题。——水平扩展
  • 接着,满足了业务高可用的要求。——解决单点问题,鸡蛋不要都放在一个篮子里
  • 最后,分布式系统解决了大规模软件系统的迭代效率和成本的问题。——分而治之,化繁为简

钝悟...大约 13 分钟笔记分布式分布式理论分布式理论
逻辑时钟

逻辑时钟

什么是逻辑时钟

1978 年,Lamport 在 Time, Clocks, and the Ordering of Events in a Distributed System 中提出了逻辑时钟的概念,来解决分布式系统中区分事件发生的时序问题。

逻辑时钟指的是分布式系统中用于区分事件的发生顺序的时间机制


钝悟...大约 8 分钟分布式分布式理论分布式理论逻辑时钟向量时钟版本向量时钟全序偏序
ZAB 协议

ZAB 协议

ZooKeeper 并没有直接采用 Paxos 算法,而是采用了名为 ZAB 的一致性协议。ZAB 协议不是 Paxos 算法,只是比较类似,二者在操作上并不相同。Multi-Paxos 实现的是一系列值的共识,不关心最终达成共识的值是什么,不关心各值的顺序。而 ZooKeeper 需要确保操作的顺序性。

ZAB 协议是 Zookeeper 专门设计的一种支持崩溃恢复的原子广播协议

ZAB 协议是 ZooKeeper 的数据一致性和高可用解决方案。


钝悟...大约 7 分钟分布式分布式理论分布式理论算法共识ZAB
《分布式技术原理与算法解析》笔记

《分布式技术原理与算法解析》笔记

开篇词丨四纵四横,带你透彻理解分布式技术

分布式缘何而起:从单兵,到游击队,到集团军

分布式系统的指标:啥是分布式的三围

分布式互斥:有你没我,有我没你

分布式选举:国不可一日无君

分布式共识:存异求同

分布式事务:Allornothing

分布式锁:关键重地,非请勿入

答疑篇:分布式技术是如何引爆人工智能的?

分布式体系结构之集中式结构:一人在上,万人在下


钝悟...大约 9 分钟笔记分布式分布式理论分布式理论
《分布式协议与算法实战》笔记

《分布式协议与算法实战》笔记

拜占庭将军问题

拜占庭将军问题是由莱斯利·兰波特在其同名论文中提出的分布式对等网络通信容错问题。其实是借拜占庭将军的例子,抛出了分布式共识性问题,并探讨和论证了解决的方法。

分布式计算中,不同的节点通过通讯交换信息达成共识而按照同一套协作策略行动。但有时候,系统中的节点可能出错而发送错误的信息,用于传递信息的通讯网络也可能导致信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论,从而破坏系统一致性。拜占庭将军问题被认为是容错性问题中最难的问题类型之一。


钝悟...大约 40 分钟笔记分布式分布式理论分布式理论
分布式理论

分布式理论

📖 内容


钝悟...小于 1 分钟分布式分布式理论分布式理论
分布式基础理论

分布式基础理论

分布式系统的发展

罗马不是一天建成的,同理,现代分布式系统架构也不是一蹴而就的,而是逐步发展的演化过程。随着业务的不断发展,用户体量的增加,系统的复杂度势必不断攀升,最终迫使系统架构进化,以应对挑战。

了解分布式系统架构的演化过程,有利于我们了解架构进化的发展规律和业界一些成熟的应对方案。帮助我们在实际工作中,如何去思考架构,如何去凝练解决方案。

单机架构

  • 场景:网站运营初期,访问用户少,一台服务器绰绰有余。
  • 特征应用程序、数据库、文件等所有的资源都在一台服务器上。
  • 描述:通常服务器操作系统使用 linux,应用程序使用 PHP 开发,然后部署在 Apache 上,数据库使用 Mysql,通俗称为 LAMP。汇集各种免费开源软件以及一台廉价服务器就可以开始系统的发展之路了。

钝悟...大约 18 分钟分布式分布式理论分布式理论指标挑战超时检测NTP逻辑时钟
CAP 和 BASE

CAP 和 BASE

一致性

一致性(Consistency)指的是多个数据副本是否能保持一致的特性。

在一致性的条件下,分布式系统在执行写操作成功后,如果所有用户都能够读取到最新的值,该系统就被认为具有强一致性。

数据一致性又可以分为以下几点:

  • 强一致性 - 数据更新操作结果和操作响应总是一致的,即操作响应通知更新失败,那么数据一定没有被更新,而不是处于不确定状态。
  • 弱一致性 - 系统在写入数据成功后,不承诺立即能读到最新的值,也不承诺什么时候能读到,但是过一段时间之后用户可以看到更新后的值。那么用户读不到最新数据的这段时间被称为“不一致窗口时间”。
  • 最终一致性 - 最终一致性作为弱一致性中的特例,强调的是所有数据副本,在经过一段时间的同步后,最终能够到达一致的状态,不需要实时保证系统数据的强一致性。

钝悟...大约 9 分钟分布式分布式理论分布式一致性ACIDCAPBASE
拜占庭将军问题

拜占庭将军问题

拜占庭将军问题是由莱斯利·兰波特在其同名论文中提出的分布式对等网络通信容错问题。其实是借拜占庭将军的例子,抛出了分布式共识性问题,并探讨和论证了解决的方法。

分布式计算中,不同的节点通过通讯交换信息达成共识而按照同一套协作策略行动。但有时候,系统中的节点可能出错而发送错误的信息,用于传递信息的通讯网络也可能导致信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论,从而破坏系统一致性。拜占庭将军问题被认为是容错性问题中最难的问题类型之一。


钝悟...大约 4 分钟分布式分布式理论分布式理论共识
分布式算法 Gossip

分布式算法 Gossip

Gossip 也叫 Epidemic Protocol (流行病协议),这个协议基于最终一致性以及去中心化设计思想。主要用于分布式节点之间进行信息交换和数据同步,这种场景的一个最大特点就是组成的网络的节点都是对等节点,是非结构化网络(去中心化)。

Gossip 协议最早是在 1987 年发表在 ACM 上的论文 《Epidemic Algorithms for Replicated Database Maintenance》中被提出,其理论基础来源于流行病学的数学模型,这种场景的一个最大特点就是组成的网络的节点都是去中心化的对等节点,在信息同步过程中不能保证某个时刻所有节点都收到消息,但是理论上最终所有节点都会收到消息,实现最终一致性协议。


钝悟...大约 8 分钟分布式分布式理论分布式理论算法Gossip
2