aerospike 客户端和服务器

aerospike client and server

我遇到了 aerospike 的问题。

我有两个具有 IP 192.168.1.2192.168.1.3

的节点集群

我的 aerospike nodejs 客户端配置了 192.168.1.2 但是当我重新启动这个节点时。然后我的客户端无法连接到集群。

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

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

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

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

您可以同时提供这两个 IP 地址。当一个节点出现故障时,客户端将超时连接到它,并尝试另一个 IP 地址。它只需要成功连接到 'seed' 集群(这意味着它会在此时了解其他节点和分区 table),因此它会在第一个有效后停止。

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

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

至于(3)你可以提供几个mesh-seed-address-port lines, so that if one is not available you can still have a node added to the cluster. Look at Mesh (Unicast) Heartbeat for more information. The new node needs to be in mode mesh and have an explicit IP address. If you don't have to use mesh, it's better to use multicast心跳