Paxos算法
Paxos算法是是一类用于分布式系统中“共识”(consensus)问题的协议,由莱斯利·兰伯特(,LaTeX中的「La」)于1990年提出。该算法旨在解决在网络可能延迟、节点可能失败但消息不会被恶意篡改的环境下,如何使多个进程(节点)就某个值达成一致。 需要注意的是,Paxos常被误称为“一致性算法”。但是“一致性(consistency)”和“共识(consensus)”并不是同一个概念。Paxos是一个共识(consensus)算…
共 6 篇文章
Paxos算法是是一类用于分布式系统中“共识”(consensus)问题的协议,由莱斯利·兰伯特(,LaTeX中的「La」)于1990年提出。该算法旨在解决在网络可能延迟、节点可能失败但消息不会被恶意篡改的环境下,如何使多个进程(节点)就某个值达成一致。 需要注意的是,Paxos常被误称为“一致性算法”。但是“一致性(consistency)”和“共识(consensus)”并不是同一个概念。Paxos是一个共识(consensus)算…
Raft是一种用于替代Paxos的共识算法。相比于Paxos,Raft的目標是提供更清晰的逻辑分工使得算法本身能被更好地理解,同时它安全性更高,并能提供一些额外的特性。Raft能为在计算机集群之间部署有限状态机提供一种通用方法,并确保集群内的任意节点在某种状态转换上保持一致。Raft算法的开源实现众多,在Go、C++、Java以及 Scala中都有完整的代码实现。Raft这一名字来源于"Reliable, Replicated, Red…
在分布式计算中,无冲突复制数据类型()是一种可以在网络中的多台计算机上复制的数据结构,副本可以独立和并发地更新,而不需要在副本之间进行协调,并且在数学上总是可以解决可能出现的不一致问题。 Redis是一个分布式、高可用和可扩展的内存数据库,它使用CRDT来实现基于开源Redis的全球分布式数据库,并与之完全兼容。 SoundCloud开源了[https://github.com/soundcloud/roshi Roshi] ,这是一个…
联邦学习()是一种机器学习技术,具體來說就是人們在多个擁有本地数据样本的分散式边缘设备或服务器上训练算法。这种方法与传统的集中式机器学习技术有顯著不同,传统的集中式机器学习技术将所有的本地数据集上传到一个服务器上,而更经典的分散式方法则通常假设本地数据样本都是相同分布的。联合学习使多个參與者能够在不共享数据的情况下建立一个共同的、强大的机器学习模型,从而可以解决数据隐私、数据安全、数据访问权限和异构数据访问等关键问题。 联合平均(Fed…
分散式演算法(),一種演算法類型。為分散式計算而設計,它運行在一群相互連結的處理器所構成的計算機硬體平台上。分散式演算法以並行方式執行,是平行演算法下的子類別。因為同時運行在不同處理器上,對演算法其他部份運行情況的資訊所知有限,使得這類型的演算法較為困難。 經典問題
霸道选举算法(Bully algorithm)是一种分布式选举算法,每次都会选出存活的进程中ID最大的候选者。 霸道选举算法的假设 算法假设: 系统是同步的 进程在任何时候都可能失败,包括算法在执行的过程中 进程失败后停止工作,重启后重新工作 有失败监控者,它可以发现失败的进程 进程之间的消息传递是可靠的 每一个进程知道自己和其他每一个进程的ID以及地址 霸道算法的选举流程 选举过程中会发送以下三种消息类型: Election消息:表示…