【问题标题】:How to connect to a remote neo4j instance using a GraphDatabaseService?如何使用 GraphDatabaseService 连接到远程 neo4j 实例?
【发布时间】:2013-08-08 09:35:28
【问题描述】:

我们目前有一个使用 Glassfish 和 JCA neo4j-connector 的 JavaEE 部署,这意味着 neo4j 以 EmbeddedGraphDatabase 启动,我们只能使用 neo4j 社区。​​p>

我的老板要求我研究如何在 neo4j 企业允许我们使用的全球范围内添加高可用性、复制和所有服务。在这个方向上,我目前正在考虑修改 CJA 连接器,使其不再使用嵌入式 neo4j 实例,而是连接到最终在同一台机器上运行的单独进程。

但是,关于该主题存在一些问题。

首先,在 Neo4j 的早期版本中似乎有 RemoteGraphDatabaseService。它似乎消失了。真的吗 ?更重要的是,我们的应用程序使用 JCA 来协调各种组件之间使用 XA 的事务。考虑到 REST API 似乎不支持可自定义的事务大小(一个 REST 调用是 neo4j 的一个事务),我如何才能将事务协调与外部 neo4j 实例保持一致。

【问题讨论】:

    标签: java jakarta-ee neo4j distributed-transactions jca


    【解决方案1】:

    我认为修改 JCA 连接器以改用 HighlyAvailableGraphDatabase 应该很容易。您只需传入 HA、备份等所需的配置即可。

    【讨论】:

    • 本来是这么想的,但是在这种情况下,neo4j 实例将嵌入 Glassfish 中,不,或者您是否考虑过一种复制策略,其中 glassfish 中有一个从属 neo4j,外部有一个主控?
    • 主从将在他们被选举或您配置的任何地方。不过,您应该确保写信给主人。
    • @Michael_Hunger 为什么要强制写入 master ? neo4j 文档声明可以写入从属服务器,因为存在内部复制机制。我错了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多