2016-01-23 79 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

這工作。

相關問題