自定义Neo4j高可用性

时间:2014-12-29 14:54:33

标签: neo4j cluster-computing high-availability

我很好奇是否有可能使用Neo4j企业版创建一个Neo4j 没有 的HA群集。原因是企业许可证可能有点贵。有没有人做过某种工作?

1 个答案:

答案 0 :(得分:1)

简短的回答是

来自Neo4j docs

  

高可用性功能仅适用于Neo4j企业版

但是,据说 - 可以使用其他替代方案。

我使用了eventual consistency模式来制定HA解决方案。该解决方案不支持ACID,但这是我的要求所必需的。

解决方案是基于队列的解决方案。所有修改更改(即修改db的查询)都放在分布式队列上。集群中的每个数据库实例都在其前面有一个工作进程,用于从队列中读取消息并更新数据库。

用户会话 sticky ,因此用户在整个会话期间(或直到服务器失败/重新启动)从同一数据库读取。这使用户体验更好,因为数据库之间的数据不一致(通常只有一两秒钟),用户仍然可以获得已知的数据。