问题标签 [network-partitioning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
67 浏览

apache-storm - 网络分区和/或故障场景中 Storm Trident 中的 Exactly-once 保证

因此,Apache Storm + Trident 提供了exactly-once 语义。想象一下,我有以下拓扑:

CalculateMoneyBolt对内存中的货币值求和,然后将结果传递给SaveMoneyBolt应该将最终值保存到远程存储/数据库的结果。

现在非常重要的是我们计算这些值并且只将一次存储到数据库中。我们不想不小心重复数钱。

那么当对数据库的写入请求已成功发送、数据库已成功接收请求、记录事务以及在响应客户端时,Storm with Trident 如何处理网络分区和/或故障SaveMoneyBolt场景在收到数据库响应之前从网络分区?

我假设如果SaveMoneyBolt死了,Trident 会重试该批次,但我们不能承受重复计算。

如何处理此类场景?

谢谢。

0 投票
1 回答
512 浏览

docker - 阻止到 docker 服务任务(容器)之一的流量

有 3 个不同的虚拟机,其中RabbitMQ服务以全局模式部署。我的目标是阻止流向RabbitMQ服务容器之一的流量。尝试使用 iptables重现 RabbitMQ 网络分区场景

通过添加 iptables 链

iptables -A DOCKER-INGRESS -d 10.255.0.33 -p tcp --dport amqp -m state --state ESTABLISHED,RELATED -j DROP

在运行RabbitMQ服务任务容器 的 2 个 docker 节点上。10.255.0.33是 swarm 覆盖网络中容器的 ip,取自docker service inspect输出。尽管如此,流量仍然通过并且网络分区没有被复制。如何正确阻止服务容器的流量?

0 投票
0 回答
182 浏览

erlang - Erlang mnesia 节点与集群隔离

我有一个 erlang(17.3 版)mnesia 集群,由 3 个节点组成,在 1 个数据中心中运行,带有基于磁盘 + ram 的表。偶尔我会看到一个随机的节点,比如 A,将其他 2 个节点显示为已停止(stopped_db_nodes)。还有其他 2 个节点,比如 B 和 C 将在stopped_db_nodes 中显示A。这基本上使集群分区,尽管实际上没有发生网络分裂。所有 3 个节点上对 erlang:nodes() 的调用返回整个集群。我什至没有看到分区的 mnesia 系统事件,可能是因为 erlang 节点从未关闭.

mnesia 中是否存在导致错误网络分区的错误?解决这个问题的正确方法是什么?我们正在考虑在集群中启用多数。

0 投票
0 回答
159 浏览

cassandra - 写入 Cassandra 网络分区节点

设置:

具有许多节点的单个 Cassandra 集群。有许多令牌和许多节点。这些令牌被划分到这些节点上。让我们取一个在 5 个节点上分区的令牌。

  • 一个令牌有 5 个节点。
  • 现在在这 5 个节点中,4 个节点与集群的其余部分进行了网络分区
  • 现在,一些发出写入的客户端将拥有这 4 个节点的条目,因此通过这种方式,我们将能够在这 4 个不可用的节点之间进行写入。

Cassandra 是否确保写入不会发生在网络分区的这 4 个节点上?

0 投票
1 回答
208 浏览

networkx - 划分大型签名网络

我有一个大型签名网络。有符号网络是一个加权图,其边可以是 +1 或 _1。我需要对该图进行分区,以便将大多数正边放置在簇内,而将负边放置在簇外。该图非常稀疏。你有想法吗?在 Pajek 中有一个用于签名网络的特殊版本的 Louvain 算法。有人知道这个算法的细节吗?

0 投票
1 回答
65 浏览

mongodb - 即使在使用安全组完成网络分区后,MongoDB 节点(AWS EC2 实例)仍然响应

我在 AWS 上使用 5 个 EC2 实例创建了一个 MongoDB 副本集。我使用 rs.add("[IP_Address]") 命令添加了节点。

我想在副本集中执行网络分区。为此,我指定了 2 种安全组。'SG1' 已打开 27017 端口(MongoDB 端口)。'SG2' 不会暴露 27017。

我想从副本集中隔离 2 个节点。当我在这 2 个节点(EC2 实例)上应用 SG2 时,理想情况下,它们应该停止从主节点读写,因为我正在使用安全组 SG2 阻止 27017 端口。但就我而言,它们仍然是可写的。写入主节点的数据反映在分区节点上。有人可以帮忙吗?泰亚。

0 投票
1 回答
332 浏览

python - 使用 Networkx 读取 Pajek 分区文件(.clu 格式)

我正在尝试使用 NetworkX python 库读取 pajek 分区文件(换句话说,它是一个 .clu 文件),但我不知道该怎么做。我可以使用 read_pajek 方法读取 pajek 网络(.net 格式),但我没有找到读取 .clu 文件的方法。

非常感谢!

0 投票
0 回答
56 浏览

database - CAP Theorem - Partition Tolerance 是指节点宕机还是网络宕机?

阅读 Brewer 的猜想,它说 Partition Tolerance 意味着节点无法将消息传递到集群中的其他节点,而不是一些节点已关闭。

可用性的定义似乎加强了这个想法,可用性的定义是指只有“非故障”节点能够响应请求。

因此,我是否正确理解分区容限与节点失败和对请求无响应无关?它只关心仍然运行的节点在无法相互通信时的行为方式(它们是否一致且可用)?

谢谢。