https://www.elastic.co/guide/en/elasticsearch/guide/current/distrib-write.html
考虑如上所述的群集。默认的“写入”实现是将更改同步复制到主分片和副本分片(在将成功状态返回给客户端之前)。
假设我们正在为索引0不断更新数据,索引0在节点1和节点2上都有副本分片。 根据我的理解,更新将在主分片和副本分片中同步进行。现在让我们说其中一个节点(节点2)关闭然后立即恢复(但是有些更新被遗漏)。在这种情况下,只更新剩余的分片,更新是否会成功?但这是否意味着一旦节点重新启动,分片将不一致? 或者更新开始失败,因为缺少一个副本。
我假设有第三种情况。一旦主设备检测到节点已关闭,它将在另一个节点中开始复制。但是在节点2中闲置的分片会发生什么。它是否有资格被标记为“脏数据”,因此有资格删除?但是,在主设备可以感知到节点已关闭之前完成的写入会发生什么? 我知道我提出了很多问题(有后备),因此需要详细的回复。