1

假设我们有一个分布式系统,其中数据按用户 ID 分片。在大多数情况下,每个分片都由拥有该分片的用户更改。有不止一个数据中心,用户使用 DNS、cookie 或其他方式在这些数据中心之间进行平衡。即在大多数情况下,每个用户都由一个数据中心提供服务。这意味着我们可以以 master-master 方式在数据中心之间复制数据。当然,写入冲突是可能的,但它们很少见,可以使用 CRDT 或矢量时钟来解决。如果某些数据中心出现故障,用户可能会被重定向到其他数据中心!

是否有任何数据库能够解决所描述的问题?也许 AWS 或 Google Cloud 提供的某些服务提供了解决方案?

4

1 回答 1

2

我不能在这里回答具体的用例,因为你可能想要分片的方式,但是 Aerospike 有 XDR,所有集群都是对等的。

由于光速延迟,所有集群都将使用 XDR “最终保持一致”,而且我们在数据中心之间批量更新。然而,在每个集群中,Aerospike DB 将立即保持一致。

请随时查看我们的文档以获取更多答案:

于 2015-03-02T22:30:36.863 回答