0

大家好,正在阅读这篇文章的人。Stackoverflow 上有 Cassandra 大师吗?)))

我一直在研究将 Apache Cassandra 用于我们公司的监控系统项目。我想知道 Cassandra 在以下情况下如何工作:

3 节点集群,客户端向某个节点请求来自某个键空间的数据。数据复制的配置方式是,节点没有所需键空间的数据(其他两个有)。延迟/数据包丢失是否影响节点的选择,从该节点请求数据。如果有/没有,选择最近节点的算法是什么?

我使用 Wanem 做了一些丢包模拟实验。测试表明,在丢包的情况下,Cassandra 总是选择丢包率最低的节点。所以,我想找出结果显示如此有趣事实的原因。也许是因为丢包导致Node认为另一个Node死了?

坦克寻求任何帮助。

编辑:

聪明的人让我想起了动态告密者的存在。但是关于它的可用信息根本没有关于丢包的信息。

4

1 回答 1

3

在选择查询对象时,协调器按状态和 snitch 偏好对可用节点进行排序,然后根据需要查询尽可能多的节点以满足一致性要求。如果在当前测量的延迟的 99%(默认值)内未收到回复,则快速读取保护会发出后续查询。

http://www.datastax.com/dev/blog/rapid-read-protection-in-cassandra-2-0-2

于 2014-05-04T17:46:22.253 回答