gpt4 book ai didi

neo4j - 全局分布式 Neo4j 的架构?

转载 作者:行者123 更新时间:2023-12-02 10:30:17 29 4
gpt4 key购买 nike

我正在为一家在世界 48 个国家/地区设有办事处的组织做一些工作。从本质上讲,他们现在的工作方式是将数据存储在数据库的本地副本中,然后将其复制到世界上所有的区域/办事处。在奇怪的情况下,他们需要直接处理“开发副本”位于伦敦服务器上的某些内容,他们必须直接连接到伦敦服务器,无论它们位于世界何处。

假设我想要一个跨越整个组织的单一图表,该图表被分片,以便每个区域都能相对快速地读取图表。我担心写入会降低性能。我知道写入通过单个主控,这是否意味着全局只有一个主控?即,如果该主机恰好在伦敦,那么无论本地分片如何,每次从悉尼写入数据库都必须穿越该距离?如果悉尼和伦敦被切断(无论出于何种原因),会发生什么?

本质上,Neo4j是如何解决全局分发问题的?

最佳答案

Neo4j企业版的分发机制确实是主从式的。对主站的任何写请求都会在本地提交并同步传输到由 push_factor 定义的从站数量(默认值:1)。对从设备的写入请求将同步应用于主设备、自身以及足够的机器来满足 push_factor。同步从站到主站通信可能会影响性能,这就是为什么建议将写入重定向到主站并在从站上分发读取。集群通信在高延迟网络上运行良好。

在多区域设置中,我建议在“主区域”中拥有一个完整的(也称为至少 3 个实例)集群。另一个 3 实例集群位于以仅从属模式运行的辅助区域中。如果主要区域完全宕机(这种情况很少发生,但确实会宕机),监控工具会触发次要区域中的配置更改,以使其实例成为主实例。所有其他需要快速读取访问的办公室都有 x(x>=1,取决于读取性能)个仅从属实例。在每个位置,您都有一个 HA 代理(或其他 LB),用于将写入定向到主服务器(通常在主要区域)并读取到本地区域。

如果您希望单个集群的实例数量超过 20 个以上,请考虑首先进行认真的概念验证。由于主从架构,这种方法不能无限扩展。

关于neo4j - 全局分布式 Neo4j 的架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18628658/

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