2

Cassandra 如何使用 CL ONE 进行阅读?

协调器是否查询所有副本并等待第一个回答?

根据文档,协调器应该查询一个最近的副本。如果在此查询期间发生超时会发生什么 - 它是尝试另一个副本,还是向客户端返回错误?

4

1 回答 1

3

协调器是否查询所有副本并等待第一个回答?

正如您所提到的,它查询最近的节点,由 snitch 确定。

如果在此查询期间发生超时会发生什么

Dynamic Snitch还有其他文档,其中指出:

默认情况下,所有告密者还使用动态告密层来监控读取延迟,并在可能的情况下将请求路由到性能不佳的节点。

根据该定义,如果 snitch 选择的节点失败,则 snitch 应将事务路由到 [next] 最近的节点。

请注意,从 2.0.2 开始,Cassandra 有一个名为Rapid Read Protection的功能,它:

[A] 允许 Cassandra 在不丢弃单个请求的情况下容忍节点故障

于 2013-08-20T18:48:18.540 回答