2016-01-23 38 views
0

假装我已在分布式模式下运行3台OrientDB主机加在一起,在这些地址:OrientDB:如何连接到分布式集群中的多个远程主机?

  • 192.168.10.4
  • 192.168.10.5
  • 192.168.10.6

使用Java客户端,获取对数据库的引用的典型方法是这样做的:

this.graphFactory = new OrientGraphFactory(
      "remote:[host]/[database]", 
      "username", 
      "password") 
      .setupPool([...], [...]); 

在连接字符串参数中,我如何指示有多个主机?我的第一个直觉是在一个单独的IP上手动设置一个TCP负载均衡器(即HAProxy),并让它在我的3台主机之间分配。

有没有办法告诉API有多个IP可供选择,还是应该在我的实例前设置一个负载平衡器?

回答

4

你可以使用所有这些用分号隔开地址:

remote:192.168.10.4/db;remote:192.168.10.5/db;remote:192.168.10.6/db 

OrientDB会尝试连接到第一,但如果它是不可达,它会尝试其他按顺序排列。

+0

好的,可行,但从理论上讲,这意味着我的第一台服务器将处理比其他2更多的流量,对吗? – hbCyber

+1

正确。但是,在v2.2中,您需要在客户端进行负载平衡。 – Lvca

+0

谢谢您的信息! – hbCyber

0

上述连接数据库的方式对我无效。

我试图远程:主机1 /主机2/host3上/ {databsename}

例如:远程:192.168.10.4; 192.168.10.5; 192.168.10.6/db

这工作。

相关问题