2016重走solr长征之路:replication主从同步机制

##solr/replication的描述##
在分布式solrcloud的大热之下,solr的主从同步机制似乎被遗忘。其实对于大多数的搜索服务或者数据服务的数量级来说,根本用不上solrcloud,而且solrcloud未必能带来性能的提升。而主从同步机制,配置简单,使用灵活,对环境要求低,往往适用的场景更多。

典型的主从复制模式(master/slave)的配置方案

solrconfig.xml的配置
master:



optimize
optimize
schema.xml,stopwords.txt,elevate.xml
00:00:10

2

16


  • maxNumberOfBackups:最大备份数量
  • confFiles:主从进行同步的文件
  • commitReserveDuration:网络很慢的情况下,每次commit之后,保留增量索引的周期时间,默认是10秒


    slave:


http://remote_host:port/solr/core_name/replication
00:00:20
internal
5000
10000
username
password



- masterUrl:master主机的solr地址,eg: `http://192.168.11.13:8280/solr/androidapp` - pollInterval:轮询的间隔时间

操作solr/replication的API

  • 使master的主从服务生效:
    http://master_host:port/solr/core_name/replication?command=enablereplication

  • 使master的主从服务失效:
    http://master_host:port/solr/core_name/replication?command=disablereplication

  • 查看当前索引的版本:
    http://host:port/solr/core_name/replication?command=indexversion

  • 手动从master拉取数据到slave:
    http://slave_host:port/solr/core_name/replication?command=fetchindex

  • 使slave的轮询失效:
    ttp://slave_host:port/solr/core_name/replication?command=disablepoll

  • 使slave的轮询生效:
    http://slave_host:port/solr/core_name/replication?command=enablepoll

  • 执行备份:
    http://master_host:port/solr/core_name/replication?command=backup

  • 删除备份:
    http://master_host:port /solr/core_name/replication?command=deletebackup

最后:这里有一个旨在替换掉tomcat+spring+mybatis的基于netty,支持ioc,router,aop,ddd,restful的极简后端框架: https://github.com/rongjoker/quarantineJ ,.欢迎star和fork,相信会对你做java开发、并发编程、网络编程有非常大的帮助.

你可能感兴趣的:(solr/lucene)