当主机A(主机)死机时,有没有办法在集群中自动重定向到另一个活动节点(在这种情况下为B,C)?

时间:2017-08-28 12:34:04

标签: arangodb

为了在每台不同的机器上集群主机A(主机),B,C。

要在守护进程中集群3计算机,我执行了以下3个命令

在主持人A上 nohup arangodb --starter.data-dir=/mypath/arangodb/ &

在主持人B上 nohup arangodb --starter.join A(ip adress for A) --starter.data-dir=/mypath/arangodb/ &

在主持人C上 nohup arangodb --starter.join A(ip adress for A) --starter.data-dir=/mypath/arangodb/ &

我有3个协调员(端口:8529),3个数据库服务器(端口:8530)和3个代理(端口:8531),然后成功集群。

我使用java客户端进行基本CRUD集群。 ArangoDB arangoDB = new ArangoDB.Builder().host(hostA, PORT).build(); hostA:A(主人)的主持人,PORT:8529

我对此有疑问!

如果主机A(主服务器)死机,则阻止对主机A的任何请求并拒绝连接。

当主机A死机时,有没有办法在集群中自动重定向到另一个活动节点(在这种情况下为B,C)?

1 个答案:

答案 0 :(得分:1)

ArangoDB Java驱动程序支持自版本4.1.10以来的主机回退。只需为您的每位协调员多次使用host(String, int)方法。

一旦驱动程序失去与hostA的连接,它就会尝试连接到hostB,依此类推。只有在每个主机都无法访问之后,才会抛出异常。

ArangoDB arangoDB = new ArangoDB.Builder()
  .host(hostA, PORTA)
  .host(hostB, PORTB)
  .host(hostC, PORTC)
  .build();