[英]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.