Cassandra对读写请求的处理机制

时间:2021-08-14 13:49:20

1 写请求:

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

Cassandra对读写请求的处理机制

多数据中心:

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

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

Cassandra对读写请求的处理机制

2 读请求:

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

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

Cassandra对读写请求的处理机制