cassandra - Cassandra:在多个节点关闭的情况下提示切换
问题描述
Cassandra 使用提示切换的概念来保持一致性。这意味着如果一个节点宕机,协调器会注意到它并等待它启动,然后重新向它发送写请求。
这是否意味着即使在等待不可用节点启动时,Cassandra 也会将成功响应发送回客户端?如果是,那么如果所有目标节点都关闭了怎么办?即使没有一次写入,这不意味着对客户端的成功响应吗?
解决方案
如果无法实现一致性,则不存储提示
例如,假设您有 3 个副本并且所有节点都已关闭。在这种情况下,如果写入一致性,quorum
则提示将不会被存储并且写入将失败。只有当一个节点关闭并且协调器从两个节点获得成功响应时,才会存储提示。
唯一的例外是写一致性ANY
。在这种情况下,即使所有副本都已关闭,提示也会被存储并且写入会成功。
推荐阅读
- apache-spark - 检查点灵活性 - SparkStreaming/Databricks 自动加载器
- visual-studio - 来自 HRESULT 的 Visual Studio 2019 异常:0x80070005 (E_ACCESSDENIED)
- twitter-bootstrap - 如何制作包含 Vue 绑定的引导表?
- mysql - 我应该如何索引我的表并建立我的请求以提高性能?
- html - 有没有办法使用 html 在 Telegram 频道上嵌入视频?
- mongodb - 模式方法和查询之间的区别
- laravel - laravel 中的多级角色权限
- flutter - 有什么方法可以提高 Flutter Web 的渲染质量吗?
- schema - 动态结构化数据 - 需要插入 js?
- javascript - 如何创建一个气泡,其中箭头或指针是元素的一部分,但构成它的边框不是?