Cassandra 集群 vs Cassandra 环

Cassandra cluster vs cassandra ring

如果我在 5 个数据中心(3 个是私有 DC)和 2 个是 Public(Azure DC)设置了一个 Cassandra 集群,我可以说我有 5 个环还是这个 1 个集群和 1 个环?

谁能帮助理解这种情况下的“戒指”一词。

长答案:

是的,簇和环可以互换使用。 “集群”在今天肯定用得比较多。 “Ring”来自早期的 Cassandra 前 vNodes 时代,其中每个节点都被分配了一个连续的令牌范围。

我们过去不得不为每个节点手动配置令牌范围。事实上,我会使用这段代码来做到这一点(假设一个 5 节点集群):

python -c 'print [str(((2**64 / 5) * i) - 2**63) for i in range(5)]'

['-9223372036854775808', '-5534023222112865485', '-1844674407370955162', '1844674407370955161', '5534023222112865484']

计算分区键的标记范围时,每个节点负责下一个顺序范围。一旦它到达集群中的最后一个节点,范围计算就循环回到第一个节点,有点像环状图。

综上所述,现在每个节点上都有多个不连续的令牌范围,Cassandra 真的不再形成“环”了。要明白我的意思,运行 在具有多个 vNode 的 Cassandra 3 节点上 nodetool ring,你就会明白我的意思。

简答:

出于所有意图和目的,“集群”==“环”。随便你说,别人会明白你的意思。