我知道你不必重新平衡虚拟节点,但我们什么时候真正使用 它在生产场景中吗?它的功能与物理单代币节点相同吗?如果是这样,那么为什么要使用单个 token 节点呢?如果我有大量数据和集群大小(例如 300 个节点),vnodes 有帮助吗?
最佳答案
使用 vnode 的主要好处是在引导新节点时流式传输的数据分布更均匀。为什么?那么,当添加一个新节点时,它会请求其 token 范围内的数据。理想情况下,它请求的数据将均匀地分布在所有节点上,从而减少所有将数据发送到引导节点的节点的工作负载(并加快引导过程)。
一旦您拥有大量物理节点(例如 300 个),这种好处似乎就会减少(假设没有热点或数据分区问题)。除了文档中的内容之外,我不知道引用使用或不使用 vnode 的节点数量的实际指南。是的,它在生产中可见。
更多信息可以在这里找到: http://docs.datastax.com/en/datastax_enterprise/4.8/datastax_enterprise/config/configVnodes.html
关于cassandra - 为什么以及何时在现实生产场景中使用 Cassandra 中的 Vnode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33031465/