换公司了,因为历史遗留原因,新公司不用solrcloud,他们使用的是主从复制模式,所以趁没有任务就看了下主从复制的原理,记个笔记。
先说下solrcloud下复制的原理吧,solrcloud中每个doc是要添加到对应的shard中,并且添加的一定是leader,然后由leader写到自己的索引后再转发到其他的replica中,也就是采用的push的方式,并且是每个doc都会进行这样的操作。leader和replica的区别仅仅是doc的来源的区别,leader由solrj添加,而非leader由leader转发。其他的操作,比如commit、softCommit都是独立的,也就是leader和非leader的这些操作没有任何关系。但是在主从模式下,并不是采用的push,而是由slave进行的pull,并且它的实现原理是在leader进行了commit之后,才会被slave pull到本地,slave是把leader的这次commit产生的所有的文件都复制过来,也就是直接复制的索引文件,而不是复制的日志。等slave pull完了之后,然后会自己进行commit。在整个过程中,leader完全不知道slave的存在,而是slave不停的(间隔一定的时间)去访问leader,如果leader有了新的commit,则slave触发一次pull的请求。
这种模式下,如果我们控制master的commit的状态(比如我们通过控制内存和doc的数量实现很长时间才进行commit),那么slave在短时间内就不会有任何的改变,那么会提供强大的读的能力,所以主从模式还是有他的用武之地的。
https://wiki.apache.org/solr/SolrReplication 这个是solr的主从的文档,方便以后查看。
相关推荐
这一过程与MySQL的主从复制机制类似,每个Region Server都有自己的WAL Log,并且在ZooKeeper中维护同步位置。 操作时序图大致如下: 1. 客户端(Client)对HBase执行Put或Delete操作。 2. 操作被记录在本地Region ...
- **复制与恢复**:Solr支持主从复制,确保数据的一致性和高可用性。 3. **源码结构** 解压后的源码包`solr-9.0.0`包含了以下几个关键部分: - `server`: 存放Solr服务器端代码,如SolrJetty容器、管理API等。 ...
1.2.6 复制:Solr支持主从复制,确保数据的安全性和高可用性,可以轻松地扩展集群规模。 1.2.7 管理接口:Solr提供了一个基于HTTP的Web管理界面,方便用户监控和配置系统状态。 二、Solr服务原理 1.3.1 索引 ...
- 描述了Solr如何通过主从架构实现数据的复制和分发,从而提高系统的可用性和容错性。 #### 二、Solr的安装与配置 **2.1 在Tomcat下Solr安装** - **2.1.1 安装准备**:介绍安装前需要准备的软件环境和硬件要求。 ...
Solr支持数据复制,通过主从复制策略,实现集群的高可用性和数据冗余,保证系统的稳定运行。 1.2.7 管理接口 Solr内置了基于Web的管理界面,方便用户监控和管理索引、日志、系统状态等,简化运维工作。 1.3 Solr...
- **复制架构**:通过主从复制模式提高系统可用性,支持主节点和多个副本节点之间的数据同步。 #### 7. Solr 的安装与配置 - **安装准备**:需要Java环境、Tomcat容器等。 - **安装过程**:解压Solr包、配置环境...
Solr支持主从复制机制,可以在多个节点之间同步索引数据,从而提供高可用性和负载均衡。 - **1.2.7 管理接口** Solr提供了一个Web管理界面,可以方便地监控系统状态、执行管理命令等。 **1.3 Solr服务原理** - *...
Solr支持主从复制和分布式复制,可以实现数据的冗余存储,提高了系统的可用性和容错能力。 ##### 管理接口 Solr提供了一个强大的管理界面,可以进行索引管理、查询分析、系统监控等操作,方便了系统维护和故障排查...
- 主从复制:实现数据备份与读写分离。 - 分片:将数据分散存储到多个节点上。 - Sentinel:监控主从状态并自动切换。 3. **Redis应用场景**: - 缓存热点数据:减少数据库压力。 - 限流控制:防止恶意访问。 ...
### SolrCloud Windows环境下搭建详解 #### SolrCloud概述 SolrCloud是Apache Solr提供的一...通过上述详细介绍,读者应能够理解SolrCloud的工作原理及其实现过程,从而在实际项目中有效利用其强大的分布式搜索功能。
面试中,除了基本的Redis数据类型(如字符串、哈希、列表、集合和有序集合)之外,还会讨论其持久化方法(RDB和AOF)、主从复制、事务处理、lua脚本以及Redis在缓存和消息队列等场景的应用。 **Shiro** 是一个轻量...
├─补充2:Redis3.0新特性、主从复制、集群视频教程 │ │ 打开必读.txt │ │ │ ├─相关资料 │ │ redis-3.0.1.tar.gz │ │ redis-3.0.2.tar.gz │ │ redis-3.2.1.gem │ │ Redis集群.docx │ │ ...
4. **数据库优化**:数据库是系统性能瓶颈的关键,优化SQL查询、合理设计索引、主从复制、分库分表等都是提升数据库性能的重要手段。 5. **搜索引擎**:如Elasticsearch、Solr等,用于提供全文搜索功能,提升用户...
主从同步读写分离是提高数据库性能的重要手段,面试者需了解复制原理和延迟问题的解决策略。SQL优化是数据库性能的关键,包括编写高效的查询语句,避免全表扫描,合理利用索引等。索引的类型(B树,哈希索引等)...