2014-05-06 254 views
0

我正在研究一個使用Spring Data Neo4j的應用程序,它可以與嵌入式Neo4j服務器一起使用。我希望我的應用程序能夠與包含3個Neo4j節點的羣集一起工作,其中一個節點是嵌入式服務器。Spring Data Neo4j負載均衡

我試圖完成集羣內的某種負載平衡:1.在每臺服務器上循環請求或2.在主嵌入式服務器上寫入請求,並在其他兩臺服務器上讀取請求。

Spring Data Neo4j有什麼樣的負載均衡機制?實現這個需要什麼樣的配置?我是否需要其他工具,如HAProxy或mod_proxy?有沒有可以與Neo4j集羣和Spring Data Neo4j集成的例子?

回答

1

負載平衡器組件不是Neo4j的一部分,也不是Spring Data Neo4j的一部分。使用Neo4j作爲服務器的示例設置記錄在http://docs.neo4j.org/chunked/stable/ha-haproxy.html

由於您的應用程序在嵌入式HA模式下使用SDN,因此您需要自己公開本地實例(主服務器或從服務器)的狀態,以實現與服務器模式下的/ db/manage/server/ha/master相同的狀態。你可能會在你的實現中使用HighlyAvailableGraphDatabase.isMaster()

+0

感謝您的回覆,我很害怕這種情況。我還沒有發現的是,我應該如何配置Spring Data Neo4j才能連接到HAProxy。我使用SpringRestGraphDatabase? – user3455402

+0

不,你不應該使用SpringRestGraphDatabase。目前SDN在遠程模式下執行得並不合理。最佳做法是在嵌入式HA模式下使用它。不幸的是,我手邊沒有這個例子。 –

+0

好的,但如果我使用HA配置模式,我猜我應該指定所有3個服務器IP。那麼HAProxy究竟是如何命中? – user3455402