如何解决Cassandra 集群与 cassandra 环
如果我在 5 个数据中心(3 个是私有 DC)和 2 个公共(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
,您就会明白我的意思。
简答:
出于所有意图和目的,“集群”==“环”。你可以随便说,人们就会明白你的意思。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。