鞠文广

Cassandra对读写请求的处理机制

1 写请求:

单数据中心: 向所有副本发写请求, 所有副本都写数据, 只要有一致性水平指定数目的节点返回正确响应, 就认为写成功.

 

多数据中心:

客户端发起写数据请求后, 本地代理节点会把请求发给每个其他的数据中心的一个节点(代理节点), 并发给本数据中心的所有副本, 其他数据中心的代理节点会把请求发给所在数据中心的所有副本, 所有副本都写数据.

如果一致性策略是LOCAL_QUORUM, 则只要本地数据中心的多数副本返回正确响应, 就认为写成功.

2 读请求:

发给一致性水平指定个数的node, 取响应中最新的数据返回, 并向其余节点发出读修复请求.

如果返回一致性方面错误, 是因为取数据的一个节点突然无法访问(宕机或断网), 可重试, 只要其他节点可访问就会得到正确结果.

posted on 2013-10-17 14:29  鞠文广  阅读(783)  评论(0编辑  收藏  举报

导航