在分布式或分散式多代理平台中达成共同协议的程序。这对于消息传递系统很重要。
例子——
网络中的许多进程决定选举一个领导者。每个过程都从争取领导权开始。在传统或传统的分布式系统中,我们应用共识来确保可靠性和容错性。这意味着,在一个去中心化的环境中,当你有多个单独的参与方,并且他们可以自己做决定时,那么可能会发生某些节点或某些参与方恶意工作或作为一个有缺陷的个人工作的情况。因此,在这些特定情况下,重要的是要做出决定或达成共识。因此,在人们可能表现出恶意行为或人们可能以错误方式破坏工作的环境中,拥有共同的观点是主要的困难。所以在这种分布式环境下,我们的目标是确保可靠性,即在出现故障的情况下确保正确操作。
特征 :
- 它确保分布式系统中的可靠性和容错性。
- 在有缺陷的个人面前,确保正确的操作。
例子——
在数据库中提交事务、状态机复制、时钟同步。
如何实现分布式共识:
为了实现分布式共识,需要遵循一些条件。
- 终止 –
每个无故障的过程最终都必须做出决定。 - 协议 –
每个非故障过程的最终决定必须相同。 - 有效性 –
每个非故障进程必须以相同的值开始和结束。 - 正直 –
每个正确的个体至多决定一个值,而决定的值必须由某个人提出。
这是一个验证标准,所以基本上我们应该做出一个决定,其值必须是某个过程的初始值,因为当商定的值反映了没有人的初始选择时,达成一致是愚蠢的。
分布式共识协议的正确性:
它可以通过以下两个属性来描述。
- 安全性能 –
它确保您永远不会收敛到不正确的值,或者网络中正确的个体永远不会收敛到不正确的值。 - 活力属性——
它指出最终必须接受每个正确的值,这意味着最终会发生好事。
分布式共识的应用:
- 容错环境中的领导者选举,用于在不引入单点故障的情况下启动某些全局操作。
- 在分布式网络中保持一致性。假设您有不同的节点监控相同的环境。如果其中一个节点崩溃,共识协议可确保对此类故障的鲁棒性。