Cassandra MultiDC 设置中的 IP 地址解析

Cassandra MultiDC 设置中的 IP 地址解析

我们有一个场景,我们正在考虑使用 apache Cassandra 来部署以满足我们的数据存储需求。该设置将分布在不同区域(物理位置)的多个数据中心。每个数据中心都有多个节点。但是,我们最多可以为每个数据中心提供 1 个公共 IP 地址。数据中心内的节点通过私有 IP 进行通信。我们计划使用 RF=3 和 OldNetworkTopologyStrategy 进行副本放置。

1. 这让我们产生疑问,节点发现如何发生,以及多个数据中心之间如何形成 Cassandra 环?

  1. 在这种情况下,数据分区如何进行?

  2. 如果说数据驻留在数据中心 1 节点 2 中,并且读取查询被发送到数据中心 2 节点 1,假设 DC2 没有本地副本,那么如何为读取查询提供服务?这是我们最担心的问题,因为找不到与 Cassandra 的公共/私有 IP 相关的文章。

由于 Cassandra 中任何节点都可以查询数据,写入请求也是如此,因此在必须部署的环境中,Cassandra 是我们的首选。

答案1

您需要设置一个 VPN;Cassandra 假定每个节点都可以直接与其他节点通信(即使它确实执行高效的多 DC 写入,即,只向每个 DC 发送一个副本,然后协调器会在必要时将其转发给其他 DC)。

相关内容