首先,如果之前已经问过这个问题,我不能在Google或者StackExchange上find答案。
是否有可能将Apache Cassandra放入一个裂脑的场景中,在这种场景中,networking分区数据服务继续运行存储和访问数据而不访问整个集群?
如果不是,使用什么技术(链接到文档确定),以避免裂脑?
如果是这样,(似乎有关于这种情况的推文)在这种情况下,恢复选项是什么?
所以,这真的取决于几件事情。
首先,Cassandra被devise为分区容错,这意味着它将继续在你描述的情况下工作。 例如,您可能定义了两个数据中心,并且它们之间的networking连接断开。 您的查询是否成功返回取决于您查询您的群集的一致性级别。 如果selectLOCAL_QUORUM,即使2个数据中心不能通信,也会返回结果。 这是数据库的预期function。
集群中的每个节点都保持集群的完整拓扑结构,所以当networking连接解决时,暗示的切换将启动,数据中心将解决其问题。 运行节点工具修复可能是必要的,以确保所有数据在此时保持一致。 (它不会伤害)