ElasticSearch汇总请查看:ElasticSearch教程——汇总篇
一致性概念
在分布式环境下,一致性指的是多个数据副本是否能保持一致的特性。
在一致性的条件下,系统在执行数据更新操作之后能够从一致性状态转移到另一个一致性状态。
对系统的一个数据更新成功之后,如果所有用户都能够读取到最新的值,该系统就被认为具有强一致性。
写一致性
对于写操作,Elasticsearch支持与大多数其他数据库不同的一致性级别,它允许初步检查以查看有多少个分片可用于允许写入。可用的选项是:consistency的可设置的值为:one、all和quorum。默认情况下,它被设置为:quorum,这意味着只有当大多数分片可用时,才允许写入操作。在大部分分片可用的情况下,由于某种原因,写入复制副本分片失败仍然可能发生,在这种情况下,副本被认为是错误的,该分片将在不同的节点上进行重建。
我们在发送任何一个增删改操作的时候,比如说put /index/type/id,都可以带上一个consistency参数,指明我们想要的写一致性是什么?
put /index/type/id?consistency=quorum
one:要求我们这个写操作,只要有一个primary shard是active活跃可用的,就可以执行
all:要求我们这个写操作,必须所有的p