如何解决Cassandra:在多个节点宕机的情况下提示切换
Cassandra 使用暗示切换的概念来保证一致性。 这意味着如果一个节点宕机了,协调器会注意到它并等待它,然后重新向它发送写请求。
这是否意味着即使在等待不可用节点启动时,Cassandra 也会将成功响应发送回客户端?如果是,那么如果所有目标节点都关闭了怎么办?即使没有一次写入,是否也意味着对客户端的成功响应?
解决方法
如果无法实现一致性,则不会存储提示
例如,假设您有 3 个副本并且所有节点都已关闭。在这种情况下,如果写入一致性为 quorum
,则不会存储提示并且写入将失败。只有当一个节点宕机并且协调器收到两个节点的成功响应时,才会存储提示。
唯一的例外是写一致性ANY
。在这种情况下,即使所有副本都关闭,提示也会被存储并且写入会成功。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。