node.js - aerospike 客户端和服务器

标签 node.js client aerospike

我遇到了 aerospike 的问题。

我有两个 Node 集群,IP 192.168.1.2192.168.1.3

我的 aerospike nodejs 客户端配置为 192.168.1.2 但是当我重新启动此 Node 时。然后我的客户端无法连接到集群。

问题 1:我应该在客户端上添加多 IP 吗?

问题 2:如果我需要添加多个 IP,当我将另一个 Node 添加到集群时会发生什么情况?我必须编辑我的客户端配置吗?

问题 3:假设我添加了第 3 个 Node ,其 ip 是:192.168.1.4。将此 Node 添加到此集群的步骤是什么?我需要编辑每个现有的 Node 配置文件并添加 mesh-seed-address-port 192.168.1.4 3002

注意:我的 aerospike 配置为默认配置。我刚刚在每个 Node 上添加了 mesh-seed-address-port 192.168.1.2 3002 & mesh-seed-address-port 192.168.1.3 3002

最佳答案

您可以提供两个 IP 地址。当一个 Node 出现故障时,客户端将超时连接到它,并尝试另一个 IP 地址。它只需要一个成功的连接就可以为集群“播种”(这意味着它会在此时了解其他 Node 和分区表),因此它会在第一个成功后停止。

var config = {
  hosts: [
    { addr: '192.168.1.2', port: 3000 },
    { addr: '192.168.1.3', port: 3000 }
  ]
}

对于更大的集群,人们通常会设置一个名称服务器(例如 BIND)并使用循环法为其中一个 IP 提供服务。这允许您将主机名作为地址,这是一种更简洁的方法。名称服务器允许您延迟添加和删除 Node IP,而不必太担心。

至于(3)你可以提供几个mesh-seed-address-port行,这样如果一个 Node 不可用,您仍然可以将一个 Node 添加到集群中。看Mesh (Unicast) Heartbeat想要查询更多的信息。新 Node 需要处于 mode mesh 并具有明确的 IP address。如果你没有使用mesh,最好使用multicast用于心跳。

关于node.js - aerospike 客户端和服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34783077/

相关文章:

javascript - 如何将 Canvas 数据保存到文件

mysql - 出现 'Duplicate entry' 错误,即使我正在使用 ON DUPLICATE KEY UPDATE

swift - 使用 Alamofire [swift] 为每个请求设置客户端超时?

macos - Mac : There was an error while executing `VBoxManage` , Vagrant 使用的 CLI

performance - 实时查询亿条记录

node.js - Nodemailer 和 postfix

ssl - 如果我已经将自签名服务器证书导入到客户端的信任库中,那么自签名服务器证书的到期日期是否重要

java - 简单的 Java 服务器/客户端不工作?

AeroSpike 在我的记录中创建了 TTL

node.js - 查询 "AND"Sqlite 3 REST