Algorithm – Neohope的网络笔记 https://www.neohope.com Learn and share. Wed, 16 Oct 2024 08:17:18 +0000 en-US hourly 1 https://wordpress.org/?v=6.6.2 分布式一致性算法10:区块链共识算法 https://www.neohope.com/2024/06/23/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9510/ https://www.neohope.com/2024/06/23/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9510/#respond Sun, 23 Jun 2024 11:12:53 +0000 https://www.neohope.com/?p=4569 Continue reading 分布式一致性算法10:区块链共识算法]]> https://www.neohope.com/2024/06/23/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9510/feed/ 0 分布式一致性算法09:2PC3PC https://www.neohope.com/2024/06/23/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9509/ https://www.neohope.com/2024/06/23/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9509/#respond Sun, 23 Jun 2024 03:44:40 +0000 https://www.neohope.com/?p=4558 Continue reading 分布式一致性算法09:2PC3PC]]> https://www.neohope.com/2024/06/23/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9509/feed/ 0 分布式一致性算法08:PBFT https://www.neohope.com/2024/06/22/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9508%ef%bc%9apbft/ https://www.neohope.com/2024/06/22/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9508%ef%bc%9apbft/#respond Sat, 22 Jun 2024 07:33:17 +0000 https://www.neohope.com/?p=4549 Continue reading 分布式一致性算法08:PBFT]]> https://www.neohope.com/2024/06/22/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9508%ef%bc%9apbft/feed/ 0 分布式一致性算法07:OM https://www.neohope.com/2024/06/22/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9507/ https://www.neohope.com/2024/06/22/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9507/#respond Sat, 22 Jun 2024 02:20:09 +0000 https://www.neohope.com/?p=4542 Continue reading 分布式一致性算法07:OM]]> https://www.neohope.com/2024/06/22/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9507/feed/ 0 分布式一致性算法06:Gossip https://www.neohope.com/2024/06/16/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9506%ef%bc%9agossip/ https://www.neohope.com/2024/06/16/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9506%ef%bc%9agossip/#respond Sun, 16 Jun 2024 08:41:59 +0000 https://www.neohope.com/?p=4525 Continue reading 分布式一致性算法06:Gossip]]> https://www.neohope.com/2024/06/16/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9506%ef%bc%9agossip/feed/ 0 分布式一致性算法05:NWR https://www.neohope.com/2024/06/16/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9505/ https://www.neohope.com/2024/06/16/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9505/#respond Sun, 16 Jun 2024 06:29:07 +0000 https://www.neohope.com/?p=4273 N),从而达到一致性的要求。 其中: N(备份数):系统中备份的总数。 W(写入成功数):执行写操作时,需要写入成功的最小备份数量。 R(读取成功数):执行读操作时,需要查询成功的最小备份数量。 为了保证一致性,必须满足以下条件: W+R>N 这个不等式确保了在执行读操作时,至少有一个最新的备份被读取到,从而避免了读到过时的数据。 二、相关角色 NWR协议中,所有的节点是一样的。 三、算法流程 1、客户端请求写入 各节点收到消息,写入成功后,返回写入成功 当客户端收到W以上个写入成功后,认为写入成功 2、客户端读取请求 个节点收到读取消息,返回结果 当客户端收到R个以上的结果后,直接使用最新版本的数据即可。 由于W+R>N,所以客户端至少可以读取到一份最新的数据,不会读取到历史版本。 四、举例说明 假设我们有一个分布式系统,其中有5个节点,即N=5。 要求确保写操作在至少3个节点上成功(W=3),并且读操作至少查询3个节点(R=3)。 1、写操作 客户端向系统发送一个写请求,比如更新某个键值对。 2、写操作的传播 写请求被发送到所有5个备份节点,等待至少3个节点确认写操作成功。 3、写操作的确认 假设有3个节点成功更新了数据,满足了W=3的要求,写操作被认为是成功的。 4、读操作 客户端发送一个读请求,希望获取最新的键值对数据。 5、读操作的数据收集 系统从5个备份节点中的任意3个节点获取数据,由于W+R>N(3+3>5),至少有一个节点上的数据是最新的。 6、结果的确认 客户端收到来自3个节点的响应,可能会发现不同节点的数据版本不同。 客户端选择版本号最高的数据使用即可。 五、NWR的优点 1、实现简单 2、在NWR体系下,无需等待所有节点都写入成功,即可判定数据更新成功,而且保证可以读取到最新数据,提升了系统的吞吐量,同时系统的可用性也有较大提升。 Continue reading 分布式一致性算法05:NWR]]> https://www.neohope.com/2024/06/16/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9505/feed/ 0 分布式一致性算法04:ZAB协议 https://www.neohope.com/2024/06/16/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9504/ https://www.neohope.com/2024/06/16/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9504/#respond Sun, 16 Jun 2024 02:38:41 +0000 https://www.neohope.com/?p=4267 Continue reading 分布式一致性算法04:ZAB协议]]> https://www.neohope.com/2024/06/16/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9504/feed/ 0 分布式一致性算法03:RAFT https://www.neohope.com/2024/06/15/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9503/ https://www.neohope.com/2024/06/15/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9503/#respond Sat, 15 Jun 2024 08:56:03 +0000 https://www.neohope.com/?p=4271 Continue reading 分布式一致性算法03:RAFT]]> https://www.neohope.com/2024/06/15/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9503/feed/ 0 分布式一致性算法02:Multi-Paxos https://www.neohope.com/2024/06/15/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9502/ https://www.neohope.com/2024/06/15/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9502/#respond Sat, 15 Jun 2024 05:31:07 +0000 https://www.neohope.com/?p=4265 Continue reading 分布式一致性算法02:Multi-Paxos]]> https://www.neohope.com/2024/06/15/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9502/feed/ 0 分布式一致性算法01:Paxos https://www.neohope.com/2024/06/15/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9501/ https://www.neohope.com/2024/06/15/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9501/#respond Sat, 15 Jun 2024 02:27:44 +0000 https://www.neohope.com/?p=4262 Continue reading 分布式一致性算法01:Paxos]]> https://www.neohope.com/2024/06/15/%e5%88%86%e5%b8%83%e5%bc%8f%e4%b8%80%e8%87%b4%e6%80%a7%e7%ae%97%e6%b3%9501/feed/ 0