Es使用指南之Elasticsearch文档读写模型实现原理
ES使用指南系列基于ElasticSearch6.4.x版本。 本文将重点探讨Elasticsearch文档读写模型实现原理。 1、简介ElasticSearch,每个索引被分成多个分片(默认每个索引5个主分片primary shard),每个分片又可以有多个副本。当一个文档被添加或删除时(主分片中新增或删除),其对应的复制分片之间必须保持同步。那如何保持分片副本同步呢?这就是本篇重点要阐述的,即数据复制模型。 ElasticSearch的数据复制模型是基于主从备份模型的。每一个复制组中会有一个主分片,其他分片均为复制分片。主分片服务器是所有索引操作的主要入口点(索引、更新、删除操作)。一旦一个索引操作被主服务器接受之后主分片服务器会将其数据复制到其他副本。 2、基本写模型ElasticSearch每个索引操作首先会进行路由选择定位到一个复制组,默认基于文档ID(routing),其基本算法为hash(routing) % (primary count)。一旦确定了复制组,则该操作将被转发到该组的主分片(primary shard)。主分片服务器负责验证操作并将其转发到其他副本。 由于...