首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >卡桑德拉在NetworkTopologyStrategy中的读写一致性级别

卡桑德拉在NetworkTopologyStrategy中的读写一致性级别
EN

Stack Overflow用户
提问于 2016-10-18 07:06:48
回答 1查看 251关注 0票数 0

我在两个数据中心安装了cassandra,每个节点有4个节点,复制因子为2。

一致性级别为1(默认设置)

当我试图在一致性级别读取数据时,我遇到了一致性问题。在DataStax文档中,一致性级别(读+写)应该大于复制因子。

我决定将写入一致性级别改为2,读取一致性级别改为1,从而解决了单个数据中心的不一致性问题。但是,在多个数据中心的情况下,问题可以通过一致性级别(如LOCAL_QUORUM )来解决。

我如何实现写应该是(LOCAL_QUORUM +2),以便我应该写到本地数据中心,也是在2个节点上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-18 09:08:58

只需在您想要的数据中心使用LOCAL_QUORUM编写即可。如果每个数据中心的复制因子为2,那么您在“本地”数据中心中写入的数据最终将在“其他”数据中心中复制(但您无法保证什么时候)。

LOCAL_QUORUM的意思是:“在写操作返回后,数据已经有效地写入到本地数据中心的节点的仲裁中”。

TWO的意思是:“在写操作返回后,数据已被写入到任何数据中心中的至少2个节点上”。

如果您想在同一个数据中心中读取刚才用LOCAL_QUORUM编写的数据,则应该使用LOCAL_ONE一致性。如果您使用ONE阅读,那么最近的副本可能在“远程”数据中心中,因此还没有被Cassandra复制。

这还取决于在驱动程序级别配置的负载平衡策略。您可以在这里阅读更多关于这一点的信息:balancing/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40101706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档