- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法理解 Cassandra 中 Snitch 和 Gossip 之间的区别,而且我什至找不到讨论该主题的来源,更不用说提供一个好的答案了。在我看来,Snitch 和 Gossip 都是节点间通信协议(protocol);那么为什么我们需要其中 2 个呢?
我知道 Gossip 可以帮助节点从引导节点获取信息,但这并不能真正解释其中的差异,因为当节点启动时,它还需要了解数据中心和机架,这应该是告密者的领域。
最佳答案
Gossip 是一种协议(protocol),而 Snitch 是利用它的组件。 Snitch 不仅仅是八卦,它至少具有一些启发式功能,例如识别数据中心或机架,而八卦就像获取此信息的便捷工具。几乎所有八卦所做的都是用一些规则来传播,以覆盖所有必要的节点并接收一些技术数据,如 IP、健康状况等。而 Snitch 利用这些信息来执行更多操作。其功能之一是通过分析接收到的ip来识别不同的数据中心。然后,其他组件会使用此信息来执行进一步的操作,例如副本位置等。因此,他们决定为该功能提供单独的名称来标识它,实际上,这都是关于对功能进行分层的。
这里有一个更详细的告密者定义(但在 scylla 中):https://github.com/scylladb/scylla/wiki/Snitches
关于 Cassandra :告密者与流言蜚语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46498874/
我是一名优秀的程序员,十分优秀!