正在从事一个实现聚类算法的项目。聚类的一个重要特性是在面临网络分区时尊重保证。
为了证明集群有效,我需要一种方法来在我的 Windows 开发环境中模拟分区。
在以下示例中,我将使用术语“节点”,在此上下文中,节点是启动于 IP 并接受端口上的传入连接的 Tcp 侦听器。例如,在 c# 中:new TcpListener("10.16.8.9", 12345)
测试用例:N2 与 N1 和 N3 分离
Given
I have a cluster of 3 nodes running on one NIC with 3 IPs
N1 running at 10.16.8.9
N2 running at 10.16.8.10
N3 running at 10.16.8.11
Dev can connect to N1, N2, N3
When
A partition occurrences for N2
Then
N2 cannot reach N1 and N3
N1 can reach N3
N3 can reach N1
Dev can connect to N1, N2, N3
插图
如果我想使用 Windows 工具阻止/恢复来自/到 N2 的流量,我有哪些选择?