在Cassandra中使用Hinted Handoff有什么意义,特别是对于一致性> ANY?

时间:2017-04-17 05:30:12

标签: database cassandra replication consistency

在Cassandra中,Hinted Handoff(HH)仅在满足一致性等级时才会发生。此外,客户端无法读取提示。一致性水平>任何情况下,使用HH都可以改善写入和读取可用性。由于在线复制品不足以满足一致性要求,因此请求仍然失败 使用Hinted Handoff有什么意义?交易能力表现? 为什么不将故障并返回节点与其他副本节点同步(即重新复制)?

1 个答案:

答案 0 :(得分:2)

暗示切换只是额外的反熵措施。即,当节点重新联机时,您不必立即运行修复并且数据一致(如果有轻微中断)。

我想用复制一直处理这个问题太复杂了,因为你必须以某种方式标记未被复制的数据等。基本上你会再次有类似于暗示切换的东西。

官方文档中的一些内容: https://docs.datastax.com/en/cassandra/2.1/cassandra/dml/dml_about_hh_c.html#concept_ds_ifg_jqx_zj__extreme-write-availability

基本上是在最小的中断时最大化群集的写入吞吐量。它是可配置的,您可以在您描述读取和写入都涉及高一致性级别的情况下禁用它。

另外,你必须运行“重新复制”,即无论如何修复。因为暗示的交接无法真正解决所有问题。

我个人在R-CL中使用它们:ONE,W-CL:ONE,RF:2,NODES:3。它们非常有用,因为我们在群集上进行维护和滚动重启时保持了写入吞吐量。所以我认为它在W-CL< RF。

然后又有这样的意见:

https://blog.threatstack.com/scaling-cassandra-lessons-learned

实际上,只需在配置中禁用它们即可。在长时间停机或负载峰值期间丢失数据太容易了,并且如果节点由于负载峰值而出现故障,您只是将环绕问题传递出去,最终会使多个或所有节点关闭。我们从未在Cassandra上遇到过这种情况,但是在支持暗示切换的其他系统上也有这种情况。