2014-05-06 211 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