我知道有一个相同的问题,但我并不觉得答案有什么帮助。
可用性表明,即使系统中的一个或多个节点停机,系统也将返回非错误响应。
分区容错是指即使系统中的一些节点停机或系统中存在通信中断,系统仍将作为一个整体继续运行。
如果我没有错的话,它们都意味着即使系统中的一些节点出现故障,客户端也会收到响应。两者之间的区别是什么?
发布于 2021-06-23 22:50:41
Availability是指发送到未关闭的节点的每个请求都返回有效响应。如果它是一个写请求,那么该节点应该返回一个有效的响应,即使它不能向系统中的其他节点传达新的更新。类似地,如果它是一个读请求,那么节点应该返回它拥有的数据,即使它不能保证它是最近更新的数据。
Partition 指的是即使存在网络分区,即两个节点之间的连接中断,无法来回通信,系统也不会宕机。请注意,网络分区只是意味着系统中两个节点之间缺乏通信,并不意味着任何节点都已关闭。
在分布式系统的情况下,我们不能保证不会有网络分区,因为网络连接位于我们系统的范围之外,为了确保系统继续工作,我们牺牲了一致性或可用性。
https://stackoverflow.com/questions/66146199
复制相似问题