diff --git a/consensus/raft-ConfChange.md b/consensus/raft-ConfChange.md index a86e01c1..bacbffc1 100644 --- a/consensus/raft-ConfChange.md +++ b/consensus/raft-ConfChange.md @@ -1,6 +1,6 @@ # 6.3.3 成员变更问题 -前面篇节讲述 Raft 的 Leader 选举和事物协商假定的条件集群是固定,但生产环境中,我们会遇到很多改变集群节点数的情况,譬如服务器故障需要移除副本、集群扩容增加副本等等。 +前面讲述的 Raft Leader 选举假定的条件集群节点是不变的,但生产环境中,遇到很多改变集群节点数的情况,譬如服务器故障需要移除副本、集群扩容增加副本等等。 那么如何更改集群的节点配置呢? 我们先假设有这么个 **configuration(配置)** 来管理所有的成员信息,为了让所有成员在同一时刻都能获取到更新后的集群配置,选择集群停机后再更新配置是最简单的方案,但在一个致力于解决分布式可用性的容错系统中,用影响可用性的方式解决成员变更问题显然不可接受。 diff --git a/network/conntrack.md b/network/conntrack.md index aab7310b..82e6f3f5 100644 --- a/network/conntrack.md +++ b/network/conntrack.md @@ -26,7 +26,7 @@ conntrack 是 connection track(连接跟踪)的缩写,顾名思义,这 每个通过 conntrack 的数据包,内核都为其生成一个 conntrack 条目用以跟踪此连接,对于后续通过的数据包,内核会判断若此数据包属于一个已有的连接,则更新所对应的 conntrack 条目的状态(譬如更新为 ESTABLISHED 状态),否则内核会为它新建一个 conntrack 条目。 -所有的 conntrack 条目都存放在一张表里,称为连接跟踪表(conntrack table)。连接跟踪表存放于系统内存中,可用 cat /proc/net/nf_conntrack 命令查看当前跟踪的所有 conntrack 条目,conntrack 维护的所有信息都包含在条目中,通过它就可以知道某个连接处于什么状态。 +所有的 conntrack 条目都存放在一张表里,称为连接跟踪表(conntrack table)。**注意,conntrack table 如果满了,会丢包**。连接跟踪表存放于系统内存中,可用 cat /proc/net/nf_conntrack 命令查看当前跟踪的 conntrack 条目,conntrack 维护的所有信息都包含在条目中,通过它就可以知道某个连接处于什么状态。 如下一条状态为 ESTABLISHED 的 TCP 连接。 ```bash