繁体   English   中英

使用 neo4jclient 连接到 Neo4j 因果集群

[英]Connect to Neo4j Causal Cluster using neo4jclient

我正在使用具有通过 AMI 托管在 aws 上的因果集群的 neo4jClient。

在我使用单个服务器之前,我最近才转移到这个设置,现在它是多个(在我的例子中是 3 个)。

我如何正确配置连接字符串以连接到集群,以便 neo4j 客户端知道整个集群并可以正确分配读写等?

运行此命令为我提供了集群中的所有服务器。

CALL dbms.cluster.routing.getServers()

[
    {
        "addresses": [
            "100.100.100.1:7687"
        ],
        "role": "WRITE"
    },
    {
        "addresses": [
            "100.100.100.2:7687",
            "100.100.100.3:7687"
        ],
        "role": "READ"
    },
    {
        "addresses": [
            "100.100.100.1:7687",
            "100.100.100.2:7687",
            "100.100.100.3:7687"
        ],
        "role": "ROUTE"
    }
]

目前我的 neo4jclient 设置连接到标记为“Write”的实例,它会自动发现其他服务器吗?

services.AddSingleton(s => NeoServerConfiguration.GetConfiguration(new Uri(Configuration.GetConnectionString("Neo4jConnection")), appSettings.Neo4jUser, appSettings.Neo4jPassword));

NeoServerConfiguration 似乎只允许您连接到单个实例而不指定多个。

对于Neo4jClient - 你需要使用BoltGraphClient然后你连接的 URI 是:

bolt+routing://100.100.100.1:7687

尽管它可能是您的任何 IP。

它不适用于标准的http端点 - 所以你需要使用bolt

如果您使用的是Neo4j-Driver并且您正在尝试版本4.x - 那么您将使用neo4j (即neo4j://ip )而不是bolt+routing

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM