当前位置: 首页 > 知识库问答 >
问题:

定制Neo4j高可用性

仇征
2023-03-14

我很好奇是否有可能在不使用Neo4j企业版的情况下创建Neo4j的HA集群。原因是企业许可证可能有点贵。有人做过类似的工作吗?

共有1个答案

孟鸿德
2023-03-14

简而言之,答案是否定的。

从Neo4j文档:

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

但是,话虽如此,使用其他替代品是可能的。

我使用了最终一致性模式来解决HA问题。该解决方案不支持ACID,但这是我的需求所必需的。

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

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

 类似资料:
  • 我在一个POC中使用了最近嵌入的Spring数据Neo4j。它在一台机器上快速工作。在投入生产之前,我想将数据库与应用服务器分离。我配置了三个Neo4j服务器实例和HA代理,并使用Spring数据Neo4j Rest进行连接。但速度最差。每个查询的执行时间超过30秒。 我正在考虑使用嵌入HA的Neo4j?有人能给我提供链接/教程,用HA代理在嵌入式模式下配置Spring Data Neo4j吗。

  • 我需要使用Java运行嵌入高可用性模式的Neo4j。我下载了Neo4j的企业版,并对neo4j.properties文件进行了更改,如neo4j高可用性设置教程中所述。现在,如何使用这个修改过的neo4j.properties文件在高可用性模式下使用Java运行neo4j?

  • 引言: 我正在使用本地安装的WordPress的高级响应主题。 该主题提供了一个基于jQuery 1.11.0的手风琴短码。 问题: 有了我在短代码中内联添加的12点列表,移动用户需要做一些向上滚动的手势才能到达页面顶部,关闭冗长的手风琴项目,以便腾出空间查看其他手风琴导航选项。 目标: 为了提高可访问性,我想通过在每个冗长的手风琴项目的底部添加一个“CLOSE”链接来定制HTML和jQuery。

  • 是否有任何方法可以使用Cypher仅可视化Neo4j中特定类型的关系(实际图形)?例如,考虑数据模型,其中节点可以有三种类型的关系,即QR、QL和RL。 假设两个节点之间具有所有三种类型的关系,并说我只想突出显示整个图中的QR关系。现在如果我运行 “匹配p=(n)-[r:QR]- 它确实以表格形式给我所需的结果。但是,可视化部分不是必需的。它显示了A和B之间的所有关系(oi61.tinypic.c

  • 是否可以在高可用性(HA)模式下运行Neo4j,并对多个java客户端(java嵌入式)进行读/写访问? 如果是,是否需要特殊配置?(除了标准HA配置之外) 我想在我的计算机上运行一个包含三个本地服务器的HA集群。使用套接字从三个java客户端写入和读取。

  • 这里的高可用分为两类,客户端集群和服务端集群。都是采用冷备模式,因为对于 binlog 数据消费来说,并行处理将会带来数据顺序错乱的问题,当然你可以通过一些复杂的机制去实现,这里不做说明。集群部署需要 Zookeeper。 服务端集群 在 conf/canal.properties 文件中修改 zookeeper 地址 canal.zkServers=127.0.0.1:2181 集群中每个实例