我有一个疑问,当我阅读有关cassandra写入一致性的datastax文档时。我有卡桑德拉将如何保持对以下情形一致状态的问题:cassandra集群上的数据如何保持一致
- 写一致性水平=法定人数
- 复制因子= 3
按文档,当进行写操作时将协调器节点将此写入请求发送到群集中的所有副本。如果一个副本成功并且其他失败,则协调节点将向客户端发送错误响应,但节点1成功写入数据并且不会回滚。
在这种情况下,
将读取自修复(或暗示的切换或nodetool修复)从节点-1不一致的数据复制到节点2和节点3?
如果不是cassandra会如何处理不将不一致的数据复制到其他副本?
能否请你澄清我的问题
我们如何克服这个问题。我不希望我的用户在提交时失败的收件箱中看到邮件。有没有什么解决方法可以避免这个问题? – suresh
我不知道有什么办法可以避免这种情况,但是您可以做的是在失败的写入中再次尝试。只有当该分区键有足够的节点可用时,这才起作用,否则写入将再次失败。 一种选择是将第二次写入的写入一致性级别降低为1。 – Navid
感谢您的更新。我希望卡桑德拉能提出一些解决方案。 – suresh