请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

脑裂发生时,如果有客户端请求怎么办

当脑裂发生时,我们已经设置quorum了,例如三个节点,node1发生网络状况,那么node2选举为master节点,node1不会选举为master节点。
1.如果有客户发送修改数据的请求到Node1,怎么处理?
2.如果有客户发送查询数据的请求到Node1,怎么处理?
3.如果有客户发送修改数据的请求到Node2,修改成功之后,那么不同的客户端发送查询请求到Node1和Node2,数据冲突问题怎么处理?
4.如果Node1网络恢复之后,Node1和Node2&3之间如何发现数据是否一致?如果不一致,怎么处理

正在回答

1回答

1.如果有客户发送修改数据的请求到Node1,怎么处理?
失败,node1 已经将 node2 和 3 设置为下线,集群无法处理写请求

2.如果有客户发送查询数据的请求到Node1,怎么处理?
不存在的 shard 读取失败。

3.如果有客户发送修改数据的请求到Node2,修改成功之后,那么不同的客户端发送查询请求到Node1和Node2,数据冲突问题怎么处理?
node1 已经无法正常工作,所以不会冲突

4.如果Node1网络恢复之后,Node1和Node2&3之间如何发现数据是否一致?如果不一致,怎么处理
Node1 从 Node2 和 3 同步最新的数据到本地,不会出现不一致的情况。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信