索引复制(Index Replication)

索引复制这种分布式方式, bottes ugg 是由一个主索引和多个从索引构成, ugg soldes 从索引从主索引复制索引。 moncler soldes 主索引负责更新索引, timberland sitemap 从索引复制同步索引和查询。 puma pas cher 一个主索引可以复制索引到多个多个从索引库。

solr 伸缩性和分布式介绍

分布式解决的问题:
当搜索执行的时间太长,或者索引太大,此时要考虑使用 solr 的分布式了。solr 分布式中,将一个大的索引分成几个小的索引(shards,分片),放在不同的机器上。当执行搜索时,将查询划分成多个子查询,在不同机器的索引库中执行搜索, Bottes UGG Pas Cher France 然后将查询结果合并。 puma 2018 pas cher 这个拆分查询和合并结果的过程对用户是透明了。
索引复制解决的问题:
  • 当单机的查询性能不济时,可以考虑复制出多台索引来分别承担压力,如做一个全国性的搜索, puma chaussure 2018 可以将索引库复制30来个, ugg outlet france 每个省分一个,每个省请求过来时,分别在自己省所分配的索引库中进行搜索
  • 将索引的读写分离, soldes puma sneakers 也可以很好的提供性能。 ugg classic Basse 由一个负责写索引,然后同步到其他索引,其他索引只读,仅提供搜索。 ugg australia pas cher
  • 备份索引,

复制配置文件

使用 confFiles 参数指定需要复制的配置文件。 ugg femme pas cher 只有在主服务器 conf 目录下的文件才会被复制。 chaussure Puma
solr 的配置文件复制只会发生在索引复制之后,即使主服务器中的配置文件修改了,只有在新的 commit/optimize 之后,才会发生配置文件复制。 ugg australia pas cher
为了防止失败,solr 在将配置文件替换到 conf 目录前,会先将配置文件复制到临时目录中。 doudoune moncler 旧的配置文件会被重命名,还是放在 conf 目录下,ReplicationHandler 不会自动删除这些旧的配置文件。 ugg pas cher femme
当有配置文件被复制到从服务器中,ReplicationHandler 会发起一条让 core 重新加载的命令。

从服务器复制索引过程

主服务器并不能感知到从服务器的存在。 moncler soldes 从服务器会按照 pollInterval 参数的设置,不多从主服务器中检查索引版本。 timberland boots homme 如果从服务器发现主服务器有新的版本存在,将启动索引同步进程。 bottes ugg soldes 步骤如下:
  • 从服务发送一个 filelist 的命令,从主服务中获得文件列表,这个命令会返回文件名以及 metadata,包括大小,最后修改时间等
  • 从服务检查本地的索引中是否包包含这些文件,然后发送 filecontent 命令下载本地不存在的文件,该过程使用一种类似 http 块编码方式下载全部或者部分文件内容,如果过程中断,下次将从断点处继续。 ugg pas cher 每次断开后,从服务器最多会重试 5 次
  • 文件下载下来后会放入临时目录,这样在复制过程出错也不会导致索引库不能使用。

在从服务器中配置索引复制请求处理

以下代码显示如何在从服务器中配置一个索引复制请求处理: