繁体   English   中英

有关neo4j HA设置的查询

[英]queries regarding neo4j HA setup

嗨,我是HA概念和Neo4j HA的新手。 我已经阅读了Neo4j Docs,但是我仍然想着几个问题。

  1. 当使用php脚本通过REST连接到Neo4j数据库时,我应该为集群使用哪个IP。 集群有通用的IP吗?

我问这是因为,如果主服务器失败,则新的neo4j实例将成为主服务器。 我的脚本应该如何连接到新的母版。 我是否应该使用第三方软件来指向新的母版。 可以通过通用集群ip与neo4j自动发生这种情况。 如果我的概念薄弱,请原谅我。

  1. 我如何将所有读取和写入操作仅定向到主服务器,而仅将从属服务器用于复制。 或者这是默认设置。 我看到多个读取和多个写入方案,所以我感到困惑。
  2. 是否有任何文档/材料可以进一步说明如何设置仲裁器实例,或者我应该按照http://neo4j.com/docs/stable/ha-setup-tutorial.html中的说明配置3节点Neo4j HA并运行以下命令实例之一的命令-

    neo4j_home$ ./bin/neo4j-arbiter start

任何帮助表示赞赏。 谢谢!

欢迎来到Neo4j用户社区;)

首先,我建议您看一下neo4j-php-client ,因为它支持Neo4j HA群集,并且可以解决您的问题。 而不是找到自己的解决方案。

  1. 最佳实践是使用Neo4j HA群集的某种负载平衡前端。 这是一篇很棒的文章: http : //blog.armbruster-it.de/2015/08/neo4j-and-haproxy-some-best-practices-and-tricks/

  2. 您可以基于HTTP方法在负载平衡器级别上执行此操作(将GET重定向到从属;将POST,PUT,DELETE重定向到主控)。 但是Cypher端点存在问题,因为它仅使用POST方法。 您可以使用其他HTTP标头来区分读写请求,但是该逻辑必须在您的应用程序中。

  3. 首先,从官方文档开始就足够了。

资源

正如我的朋友MicTech所说,通常我们将HAProxy用作Neo4j之上的负载平衡器。

提到了php客户端,您就拥有了一种出色的配置机制,该机制可以:

  1. 使用HA代理时,请定义您的读/写查询,以便它将自动向HTTP请求添加标头。 标头也是可配置的。

  2. 不使用HAProxy时,可以在客户端设置中定义所有neo4j实例并激活High-Availability扩展(仅在启用缓存的情况下有效)。 因此,当主服务器宕机时,客户端将自动尝试检测新选举出的主服务器,并重写缓存中的连接配置以获取进一步的请求。

我试图使自述文件尽可能的好,请阅读它,如果缺少某些内容,请在存储库中打开问题。

https://github.com/graphaware/neo4j-php-client

暂无
暂无

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

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