首先,如果之前有人问过这个问题,我很抱歉,我在 Google 或 StackExchange 上找不到答案。
是否有可能将 Apache Cassandra 置于脑裂场景中,即网络分区数据服务继续运行存储和访问数据而无需访问完整集群?
如果没有,使用什么技术(文档链接正常)来避免裂脑?
如果是这样,(似乎有关于这种情况的推文)在这种情况下有哪些恢复选项?
所以,这真的取决于一些事情。
首先,Cassandra 被设计为具有分区容错性,这意味着它可以在您描述的情况下继续工作。例如,您可能定义了两个数据中心,并且它们之间的网络连接断开。您的查询是否成功返回取决于您查询集群的一致性级别。如果您选择 LOCAL_QUORUM,即使 2 个数据中心无法通信,您也会得到一个结果。这是数据库的预期功能。
集群中的每个节点都维护集群的完整拓扑,因此当网络连接解决时,提示切换将开始,数据中心将解决它们的问题。可能需要运行 nodetool repair 以确保此时所有数据一致。(它不能伤害)
| 归档时间: |
|
| 查看次数: |
4122 次 |
| 最近记录: |