Cassandra 为什么不让每个节点都成为种子节点

Cassandra 为什么不让每个节点都成为种子节点,cassandra,Cassandra,我是卡桑德拉的新手。我了解种子节点的用途。但是,是否存在与种子节点相关的任何成本?如果是,它们是什么。否则,我想知道为什么不让每个节点都成为种子节点 作为种子基本上没有本地运行时成本,只是您可能会收到比非种子节点更多的八卦流量。然而,随着种子数量的增加,这种局部效应将逐渐减弱 更有趣的是分布式效果。种子节点有利于闲聊,这意味着如果只有少数节点,更新将集中在这些少数种子中。非种子节点将尝试向种子发送流言更新(从其种子列表中随机选取),因此,如果每个人都向相同的少数节点发送更新,则它们必然具有最新的

我是卡桑德拉的新手。我了解种子节点的用途。但是,是否存在与种子节点相关的任何成本?如果是,它们是什么。否则,我想知道为什么不让每个节点都成为种子节点

作为种子基本上没有本地运行时成本,只是您可能会收到比非种子节点更多的八卦流量。然而,随着种子数量的增加,这种局部效应将逐渐减弱

更有趣的是分布式效果。种子节点有利于闲聊,这意味着如果只有少数节点,更新将集中在这些少数种子中。非种子节点将尝试向种子发送流言更新(从其种子列表中随机选取),因此,如果每个人都向相同的少数节点发送更新,则它们必然具有最新的集群元数据。同时,闲聊还涉及从种子接收元数据,这意味着每个闲聊种子节点很少的人也会从最近的更新中受益。最终的结果是更新在整个集群中传播得相对较快,代价是将一些八卦流量集中在较少的节点上

将其与每个节点都是种子的情况进行比较。当一些节点闲聊时,它基本上会与集群中的另一个随机节点交谈,而这不太可能与集群中的其他节点闲聊。因此,我们的第一个节点刚刚发送到“种子”的更新不会传播得特别快。此外,由于种子没有接收到更多的八卦更新,因此它能够发送回节点的信息也不是特别最新的(事实上,两个节点不知道集群中某个断开连接的更新的概率大致相同)。所以我们得到了完全的去中心化,但是使用了完全随机的更新传播


实际上,如果您有大量种子,您可能会受到与旧拓扑信息相关的拍打、重影和其他奇怪行为的影响,这些行为会持续更长时间。

Daniel S-感谢您的解释。种子节点也有下降的缺点。。。或因某些原因需要更换。替换这样一个节点的过程要复杂一些。