问题标签 [raft]

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 投票
2 回答
2410 浏览

docker - 在 Docker swarm 模式下,有没有办法从工作人员那里获取管理人员的信息?

在 docker swarm 模式下,我可以运行docker node ls来列出 swarm 节点,但它不适用于工作节点。我需要一个类似的功能。我知道工作节点对集群没有强烈一致的看法,但应该有一种方法可以获取当前的领导者或可达的领导者。

那么有没有办法在 docker swarm mode 1.12.1 的工作节点上获取当前的领导者/管理者?

0 投票
1 回答
146 浏览

distributed-system - 当一个跟随者在 RAFT 中恢复大量的任期号时,领导者如何复制日志?

说,我在 raft 中有 3 个节点。由于网络故障,节点 3 与其他 2 个节点分离。然后节点 3 总是成为候选人,向其他人发送 requestVote args 并发现它无法获得足够的选票。然后节点 3 增加其任期并再次尝试请求投票。所以节点 3 的任期明显大于提交日志的其他节点102, 103, 104, 105

一段时间后,网络恢复,节点 3 再次加入群组并成为追随者。但是,由于它的期限很大,它总是拒绝来自领导者(节点 1)的 AppendEntries。node 3如何将日志从102恢复到105?

0 投票
1 回答
828 浏览

algorithm - Raft:如何解决leader节点的性能瓶颈?

在raft中,所有的操作请求都会被转发到leader节点,然后leader会向所有follower发送日志。所以在重负载环境下,leader节点会成为瓶颈。如何解决这个问题?

0 投票
2 回答
1393 浏览

cluster-computing - 我如何实际使用 Raft 算法

在 Raft 论文中,他们提到所有客户端交互都发生在领导节点上。我不明白的是,领导者一直在变化。因此,假设我的集群位于负载均衡器后面。如何通知负载均衡器领导者已更改?或者如果我是正确的,负载均衡器是否可以向任何节点(跟随者或领导者)发送客户端请求,并且跟随者节点有责任将请求发送给领导者?

0 投票
1 回答
541 浏览

consul - Consul.IO - 为什么 Consul 集群需要至少一个法定人数的服务器节点才能处于活动状态

我花了一点时间研究 Consul。我读过共识协议。我看到如果 Consul 集群想要可用,它需要一个法定人数的服务器节点来选举领导者。我想知道当领事集群运行的节点少于法定人数时,为什么它不使用剩余的运行节点呢?任何人都可以为我回答吗?太感谢了

0 投票
1 回答
1740 浏览

algorithm - Raft 节点数

Raft 领导节点向所有追随者发送附加条目 RPC。显然,当我们添加新的追随者时,我们会增加网络使用率,所以我的问题是我们可以向集群添加多少节点。在 Raft 论文和其他地方,我读到集群中的 5 个节点是最佳选择,但是如果集群中有 100 个节点,你能说什么呢?

是的,我知道我可以计算限制,网络带宽是否足够。我的问题更笼统,具有数十个节点的集群是否表明架构不好?

0 投票
0 回答
526 浏览

neo4j - Neo4j 休闲集群 - 服务器无法发现彼此

我试图部署一个 Neo4j(3.1 企业)因果集群,我已经非常仔细地阅读了操作手册,并尝试在我的本地机器上创建一个 3 核心集群(使用全新安装和 docker)。但是,当我尝试在不同的机器(谷歌云计算)上部署集群时,所有集群成员都被困在:

我尝试使用公共/私有 IP,更改端口,我还检查了 5000 端口是否打开(是的,我已经添加了所需的防火墙规则):

但是仍然没有运气让集群建立起来,有人吗?

编辑:

我在不同的 GCP 机器上运行以下 docker 容器:

0 投票
1 回答
413 浏览

consensus - 分区下的筏复制

  1. 7 个成员集群,其中一个是领导者。
  2. 领导者尝试复制日志(一些写入)
  3. 发生网络分区。分别为 3 名和 4 名成员。
  4. 领导者最终进入少数派分区
  5. Leader 只达到 2 个 Follower → 复制失败

在这种情况下会发生什么?

据我了解:2 个追随者应用了“错误”写入,当网络分区修复时,他们将用多数领导者的历史记录覆盖该写入。但这违反了线性化。

0 投票
1 回答
207 浏览

api - 同行与成员 - 领事

对等集 - 对等集是参与日志复制的所有成员的集合。对于 Consul 而言,所有服务器节点都位于本地数据中心的对等集中。

~ 引用来自官方文档

  1. 那么同行和成员之间有什么区别呢?
  2. 那为什么我们有以下两个 API?(一个就够了?)

    /li>
  3. 能否介绍一下内部细节?

  4. 上述 API 的结果是否存在不一致的可能性?
0 投票
2 回答
301 浏览

thrift - 将分布式数据系统(客户端、服务器)的 thrift 实现与 Raft 协议集成

所以,首先,对不起我的英语。我不是母语人士。

问题是.. 我已经使用 Thrift 实现了一个带有分布式数据(3 个服务器)的 Cliente-Server 应用程序。现在(项目的最后阶段)是使用 Raft 的一些实现(因为我使用 Java,一个选项是模仿)来复制每个服务器。但是 Thrift 以他的方式创建服务器和客户端(类似于 Grafosd.Client 客户端 = new ...),而 Grafosd 是由 Thrift 生成的。此外,Thrift 将数据存储在 Handler? 中。并且 copycat 以不同的方式创建服务器和客户端(类似于 CopycatClient client = builder.build();)。并且数据存储在 StateMachine? 中。

所以我很难将两者结合起来。有人已经使用 Thrift Client-Server 和 Raft 协议的一些实现了吗?(不一定是山寨,可以是 Java 中 Raft 的任何实现)。