mirror of
https://github.com/Vonng/ddia.git
synced 2026-07-29 17:49:57 +08:00
4
ch8.md
4
ch8.md
@@ -137,7 +137,7 @@
|
||||
许多系统需要自动检测故障节点。例如:
|
||||
|
||||
* 负载平衡器需要停止向已死亡的节点转发请求(即从**移出轮询列表(out of rotation)**)。
|
||||
* 在单主复制功能的分布式数据库中,如果主库失效,则需要将从库之一升级为新主库(参阅“[ch5.md#处理节点宕机](处理节点宕机)”)。
|
||||
* 在单主复制功能的分布式数据库中,如果主库失效,则需要将从库之一升级为新主库(参阅“[处理节点宕机](ch5.md#处理节点宕机)”)。
|
||||
|
||||
不幸的是,网络的不确定性使得很难判断一个节点是否工作。在某些特定的情况下,您可能会收到一些反馈信息,明确告诉您某些事情没有成功:
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
|
||||
在这种环境下,您只能通过实验方式选择超时:测量延长的网络往返时间和多台机器的分布,以确定延迟的预期可变性。然后,考虑到应用程序的特性,可以确定**故障检测延迟**与**过早超时风险**之间的适当折衷。
|
||||
|
||||
更好的一种做法是,系统不是使用配置的常量超时,而是连续测量响应时间及其变化(抖动),并根据观察到的响应时间分布自动调整超时。这可以通过Phi Accrual故障检测器【30】来完成,该检测器例如在Akka和Cassandra 【31】中使用。 TCP重传超时也同样起作用【27】。
|
||||
更好的一种做法是,系统不是使用配置的常量超时时间,而是连续测量响应时间及其变化(抖动),并根据观察到的响应时间分布自动调整超时时间。这可以通过Phi Accrual故障检测器【30】来完成,该检测器在例如Akka和Cassandra 【31】中使用。 TCP超时重传机制也同样起作用【27】。
|
||||
|
||||
### 同步网络 vs 异步网络
|
||||
|
||||
|
||||
Reference in New Issue
Block a user