pra*_*man 1 cassandra datastax-enterprise datastax scylla
我有一个三节点Cassandra(DSE)集群,我不关心数据丢失,因此我将RF设置为1.我想知道如果节点出现故障,Cassandra将如何响应读/写请求(我有CL =现在我的请求中的所有内容).
理想情况下,如果数据存在,我希望这些请求成功 - 只是在剩余的可用节点上,直到我替换死节点.这个密钥空间本质上是一个非常大的缓存; 如果发生丢失,我可以替换任何数据.
(免责声明:我是ScyllaDB员工)
假设您的分区键足够独特,当使用RF = 1时,您的3个节点中的每一个都包含1/3的数据.顺便说一句,在这种情况下,CL = ONE/ALL基本上是相同的,因为您的数据只有1个副本,没有高可用性(HA).
来自2个节点的"现有"数据请求将成功.尽管如此,当3个节点中的一个节点关闭时,1/3的客户端请求(对于现有数据)将不会成功,因为基本上1/3的数据不可用,直到向下节点出现(注意nodetool repair是当使用RF = 1时无关紧要,所以我想从快照恢复(如果你有一个可用)是唯一的选择.
当节点关闭时,一旦执行nodetool decommission,令牌范围将在2个节点之间重新分配,但这仅适用于新的写入和读取.
您可以在此处阅读有关环形架构的更多信息:http: //docs.scylladb.com/architecture/ringarchitecture/
| 归档时间: |
|
| 查看次数: |
451 次 |
| 最近记录: |