怎么用Kafka 实现数据中心到数据中心的复制?
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 它能做什么? 此功能允许您在两个不同的数据中心A和B中运行两个 ArangoDB 群集,并设置从A到B的异步复制。这意味着数据中心A中的群集A可以照常用于读取和写入操作以及所有更改数据通过网络复制到数据中心B中的另一个集群B。复制是异步的,也就是说,更改出现在短暂的延迟之后,通常在几秒钟内。(阅读更多关于 ArangoDB集群架构 ) 在数据中心A发生灾难的情况下,如网络连接完全丢失,可以快速停止复制,并开始使用数据中心B中的群集B作为群集A的替代品。之后,当灾难结束时,可以或者使用集群A作为群集B的异步副本,或者切换回A并继续复制到群集A。 挑战 ? 单个ArangoDB集群是具有良好的水平可扩展性的分布式系统。数据容量和查询性能(读写)都与使用的服务器数量呈线性关系。自动分片导致数据的实际更改同时发生在所有服务器的整个地方。特别是,这意味着设计 - 没有一个地方确定所有更改的总顺序。也就是说,我们正在处理同时发生大量数据更新的分布式混乱。变化率可能会有很大差异,我们必须处理大量的写入突发。 同时,ArangoDB集群是容错的。例如,如果数据中心中的单个服务器出现故障,则ArangoDB群集可以容易地容忍这种损失,并假定用户将复制因子设置为至少为2 - 既没有丢失任何数据,也没有丢失可用性