你什么时候在分布式系统中使用共识算法?
When do you exactly use consensus algorithm in distributed system?
据我了解,在分布式系统中,我们应该处理网络分区故障,这可以通过使用相同数据的多个副本来解决。
这是我们唯一使用共识算法的地方吗?
2PC/3PC/Paxos有什么区别(paxos是3PC的修改版吗?如果是的话2PC/3PC,PC也是一种共识算法吗?)
网络分区不是 "solved" 具有相同数据的多个副本。尽管冗余当然对于处理任何类型的故障都是必不可少的:)
关于网络分区还有很多其他问题。通常,为了增加对网络分区的容忍度,您使用依赖于群体而不是总通信的算法,在群体方法中,只要 2f 中的 f+1 个节点可达,您仍然可以在分区的一侧取得进展。 Paxos 例如使用仲裁方法。很明显,像 2PC 这样的协议在任何类型的网络分区的情况下都无法取得进展,因为它需要来自所有节点的 "votes"。
What is the difference between 2PC/3PC/Paxos (is paxos modified version of 3PC? if so then 2PC/3PC , PC also kind of consensus algorithm?)
2PC/3PC/Paxos 都是共识协议的变体,尽管 2PC 和 3PC 通常被描述为处理更具体的 "atomic commit in a distributed system" 场景,这本质上是一个共识问题。 2PC、3PC、Paxos 相似又不同。您可以在网络上轻松找到有关每个算法的详细信息。
Is this the only place where we use consensus algorithm?
共识协议在分布式系统中有很多用例,例如:原子提交、原子广播、领导者选举或基本上任何需要一组进程就某些值或操作达成一致的算法。
警告:分布式系统的共识协议和相关问题并非微不足道,您需要阅读一些文章才能深入理解。如果您喜欢阅读学术论文,您可以在网上找到大多数著名的论文,例如 Leslie Lamport 的 "Paxos made simple",或者您可以通过谷歌搜索找到好的博客文章。在我看来,paxos 的 wiki 文章质量非常好!
希望这可以回答您的一些问题,尽管我可能向您介绍了更多! (如果你感兴趣,你可以做一些研究)。
据我了解,在分布式系统中,我们应该处理网络分区故障,这可以通过使用相同数据的多个副本来解决。
这是我们唯一使用共识算法的地方吗? 2PC/3PC/Paxos有什么区别(paxos是3PC的修改版吗?如果是的话2PC/3PC,PC也是一种共识算法吗?)
网络分区不是 "solved" 具有相同数据的多个副本。尽管冗余当然对于处理任何类型的故障都是必不可少的:)
关于网络分区还有很多其他问题。通常,为了增加对网络分区的容忍度,您使用依赖于群体而不是总通信的算法,在群体方法中,只要 2f 中的 f+1 个节点可达,您仍然可以在分区的一侧取得进展。 Paxos 例如使用仲裁方法。很明显,像 2PC 这样的协议在任何类型的网络分区的情况下都无法取得进展,因为它需要来自所有节点的 "votes"。
What is the difference between 2PC/3PC/Paxos (is paxos modified version of 3PC? if so then 2PC/3PC , PC also kind of consensus algorithm?)
2PC/3PC/Paxos 都是共识协议的变体,尽管 2PC 和 3PC 通常被描述为处理更具体的 "atomic commit in a distributed system" 场景,这本质上是一个共识问题。 2PC、3PC、Paxos 相似又不同。您可以在网络上轻松找到有关每个算法的详细信息。
Is this the only place where we use consensus algorithm?
共识协议在分布式系统中有很多用例,例如:原子提交、原子广播、领导者选举或基本上任何需要一组进程就某些值或操作达成一致的算法。
警告:分布式系统的共识协议和相关问题并非微不足道,您需要阅读一些文章才能深入理解。如果您喜欢阅读学术论文,您可以在网上找到大多数著名的论文,例如 Leslie Lamport 的 "Paxos made simple",或者您可以通过谷歌搜索找到好的博客文章。在我看来,paxos 的 wiki 文章质量非常好!
希望这可以回答您的一些问题,尽管我可能向您介绍了更多! (如果你感兴趣,你可以做一些研究)。