我在 Spring MVC 应用程序中使用 Neo4j 1.9.M01,该应用程序公开了一些特定于域的 REST 服务(读取、更新)。Web 应用程序在同一个 Web 容器(Tomcat 6)中部署了三次,每个“节点”都有自己的嵌入式 Neo4j HA 实例部分,属于同一个集群。
三个 Neo4j 配置:
#node 1
ha.server_id=1
ha.server=localhost:6361
ha.cluster_server=localhost:5001
ha.initial_hosts=localhost:5001,localhost:5002,localhost:5003
#node 2
ha.server_id=2
ha.server=localhost:6362
ha.cluster_server=localhost:5002
ha.initial_hosts=localhost:5001,localhost:5002,localhost:5003
#node 3
ha.server_id=3
ha.server=localhost:6363
ha.cluster_server=localhost:5003
ha.initial_hosts=localhost:5001,localhost:5002,localhost:5003
问题:在其中一个节点上执行更新时,更改仅复制到另一个节点,第三个节点保持旧状态,破坏了集群的一致性。
我正在使用里程碑,因为它不允许在 web 容器之外运行任何东西,所以我不能依赖 1.9 之前版本中基于旧 ZooKeeper 的协调。我是否在这里遗漏了一些配置,或者这可能是 1.9 中引入的新协调机制的问题?