gpt4 book ai didi

neo4j - 在两个实例上设置Neo4j复制

转载 作者:行者123 更新时间:2023-12-02 09:30:20 24 4
gpt4 key购买 nike

我计划为neo4j配置某种 2节点复制,类似于mysql复制的。由于我对资源有一些限制,因此我不想为两个以上的云计算实例付费。我也对感到满意,它只是一个实时或接近neo4j数据库的实时副本。所以我能想到的方法是:

  • 借助仲裁程序实例在两个计算节点上配置HA。在第一个节点上设置一个neo4j实例(主节点),并在第二个节点上设置另一个neo4j实例(从属节点)+另一个neo4j实例(仲裁者,仅用于仲裁,不记录数据)实例。

  • 要么
  • 使用neo4j-backup工具设置cron以进行在线备份。每小时大约设置一次增量备份。不知道它可能会对产品服务器造成负担,打算进行测试。

  • 我更倾向于第一种方法,因为我可以更实时地复制数据库(我也可以通过即时故障转移获得HA /负载平衡,但这不是当前的优先事项)。

    请告诉我
  • 两种方法中哪一种更好,
  • (如果还有另一种方法可以实现相同的功能)或
  • ,如果以上任何一种方法不合适或存在某些缺陷。

  • 我对Neo4j HA有点陌生,所以请原谅我的无知。谢谢 !

    最佳答案

    所以。您已经提到了可用的解决方案。

    TL; DR;我更喜欢第一选择。



    通常,建议的布局为3个节点(2个从站+ 1个主站)。
    但是您的布局-2个节点(1个主节点+ 1个从属节点+ 1个仲裁器)也是可行的。特别是如果一台服务器可以处理您的工作量。

    好东西:

  • 几乎“实时”的副本。
  • 可以利用资源来处理更大的工作量。
  • 更好的可用性。

  • 笔记:
  • 如果您在主节点上具有10mb / sec的写入负载,则将对从节点施加相同的负载。这根本不应该影响从从设备的读取(除非写负载确实很大)。
  • 维护成本更大,然后是单实例安装。您应该计划如何处理群集升级,配置更新,插件更新。
  • 分支数据。在群集环境中,当两个节点具有不同的数据并应决定应保留哪些数据时,有可能最终出现“裂脑”情况。 Neo4j处理此类情况非常好。但是,请记住,在极少数情况下可能会发生少量数据丢失。

  • 后备

    好东西:
  • 简单。只需从数据库进行备份即可。
  • 一致性检查。进行备份后,该工具将运行一致性检查以验证数据库是否未损坏。备份不可能破坏实时数据库。如果有任何问题-备份实用程序将通过日志通知您。请参阅以下有关如何执行备份的详细信息。
  • 数据库。 Neo4j备份是功能齐全的数据库。您可以启动指向备份数据库的服务器,并执行所有您不希望做的事情。
  • 增量备份。您可以随意执行增量备份。

  • 笔记:
  • Neo4j垂直缩放很好(取决于数据库的大小)。它可以在单个实例上处理巨大的负载(在中型计算机上,我们每秒可以处理3k个请求)。因此,您可以在一台较大的计算机上安装Neo4j服务器,而另一台较小的计算机(更便宜)进行备份。

  • 如何执行备份?

    应该记住的一件事-实时数据库仍然可以完全运行。备份实用程序不会停止或阻止任何操作。

    提交数据库中的事务后,所有更改都将附加到事务日志中。
  • 如果没有先前的备份,请复制整个存储。
  • 如果有以前的备份并且有可用的事务日志:复制新的事务日志并将其重播到存储中。
  • 如果有以前的备份且事务不可用:丢弃现有存储,则复制现有存储。

  • 为什么事务日志不可用?您的配置可能会说仅保留最新的事务日志(即1小时),或者根本不保留。

    相关设置:
  • keep_logical_logs
  • logical_log_rotation_threshold

  • 其他

    无论如何,您应该考虑在集群环境中进行备份事件。任何时刻,一切都会失败。

    通常,一切取决于您的负载和数据库大小。

    如果您的数据库足够小以完全适合内存,并且一台计算机足以处理所有负载,那么一个Neo4j实例就足够了。只是做备份。

    如果您没有更好的可伸缩性/可用性和实时工作副本,那么群集设置是最佳选择。

    关于neo4j - 在两个实例上设置Neo4j复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33825749/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com