首页 > 解决方案 > Cassandra 集群与 cassandra 环

问题描述

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

有人可以在这种情况下帮助理解“戒指”这个词吗?

标签: cassandracluster-computing

解决方案


长答案:

是的,簇和环可以互换使用。“集群”在今天肯定被更多地使用。“Ring”来自 Cassandra 早期的 vNodes 之前的日子,每个节点都被分配了一个单一的、连续的令牌范围。

我们过去必须手动配置每个节点的令牌范围。事实上,我会使用这段代码来完成它(假设一个 5 节点集群):

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

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

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

卡桑德拉 5 节点

总之,现在每个节点上有多个不连续的令牌范围,Cassandra 真的不再形成“环”了。要了解我的意思,请nodetool ring在具有多个 vNode 的 Cassandra 3 节点上运行 a,您就会明白我的意思。

简短的回答:

出于所有意图和目的,“集群”==“环”。你也可以说,人们会明白你的意思。


推荐阅读