m3db 读写一致性处理
M3DB为读写操作以及集群连接操作提供了可变的一致性级别。
写入一致性级别
One : 对应于一个操作成功的单个节点。
Majority: 对应于操作成功的大多数成功节点。
All: 对应操作成功的所有成功节点。
读取一致性级别
One: 对应于从单个节点读取以指定成功。
UnstrictMajority: 对应于大多数节点的读取,但在无法满足约束时放松约束,在尝试从大多数节点读取后从至少一个节点读取时返回成功。
Majority: 对应于从大多数节点读取以指定成功。
All: 对应于从所有节点读取以指定成功。
连接一致性级别
连接一致性级别用于确定在尝试操作之前何时将客户端会话视为已连接。
Any: 对应于连接到所有碎片的任意数量的节点,此策略将尝试连接到所有碎片,然后连接到多数碎片,然后连接到一个碎片,然后返回到无碎片,因此始终会成功。
None: 对应于连接到所有碎片的无节点,因此始终会成功。
One: 对应于连接到所有碎片的单个节点。
Majority: 对应于连接到所有碎片的大多数节点。
All: 对应于连接到所有碎片的所有节点。
配置方法
对于 m3query 及 m3coordinator 中,可以执行下面读写一致性配置
writeConsist