Solr的SolrCloud与Master-slave主从模式对比
第一印象
SolrCloud是Solr4.0引入的,主要应对与商业场景。它很像master-slave
,却能自动化的完成以前需要手动完成的操作。利用ZooKeeper这个工具去监控整个Solr集群,以了解集群间各个机器的工作状态。
配置的区别
从配置来看,SolrCloud和master-slave的主要区别在于是否有ZooKeeper节点。从下面这个配置概念图可知,SolrCloud集群最小的节点数都大于master-slave节点数,当然ZK节点不需要很强大,因为它只是用来监视和维护SolrCloud中的节点状态。
为什么有SolrCloud或者master-slave
- 分片(Sharding)
分片是在多台机器间拆分Solr索引。分片有时候是必须的,因为索引数据可能大到无法容纳在单台服务器上。通过分片,你可以在多台机器上分割索引,并持续增长而不会遇到问题。 - 近实时搜索和增量索引(NRT Search)
master-slave中每台机器上具有相同的索引数据,master负责索引数据,其他slaves负责检索数据。slaves在每隔固定的时间去master上拿新的索引数据。
SolrCloud在每个shard中都有一个leader,其他的replica与leader数据基本相同。leader的额外任务就是分发索引到该shard下的所有replica。发送到SolrCloud中的所有文档都会被路由给leader节点(当replica收到文档时,也就是要更新索引时,它会把该文档添加到事务日志中,然后报告给leader,由leader执行这个任务)。这样的机制可以分布式更新索引,并且是持久化的。 - 分布式查询和负载均衡(Load Balancing)
在master-slave中,查询哪个节点就只会返回该节点的数据。如果想用分布式搜索来查询某一个节点,可能需要外部负载均衡器的支持。
在SolrCloud中,分布式搜索可以自动被管理:查询任意一个节点,都会触发查询请求到其他shard中的某一个节点,只有聚合了所有分片的结果时,响应才返回。ZooKeeper知道所有的节点状态,一旦某个节点的挂了,就会向另一个节点发送查询请求。如果是leader节点挂了,还需要启动投票机制重新选leader。 - 高可用性(High Availability)
在master-slave中,如果master节点挂了,那么其他节点还是可以继续查询操作的,但是不能索引数据了,除非再手动添加master节点。这样一来,在重启master之前的更新操作会失败。
在SolrCloud中,当ZooKeeper发现leader节点挂了,会立即启动投票机制重新选举leader。直到了leader被选出来,所有的更新操作都会记录在事务日志中,在leader选出来后,继续同步工作,确保没有数据丢失。
无论是master-slave还是SolrCloud模式,都可以提供replication机制。但是SolrCloud是自动处理路由和恢复,而master-slave在某个节点没有响应以后,需要一些手动的操作才能恢复。
master-slave配置会简单很多,而SolrCloud需要配置ZooKeeper,为了保证系统能持续不断的工作,还需要给ZooKeeper配置集群,需要额外的资源。
Solr的SolrCloud与Master-slave主从模式对比的更多相关文章
- 【转】 Solr的SolrCloud与Master-slave主从模式对比
第一印象 SolrCloud是Solr4.0引入的,主要应对与商业场景.它很像master-slave,却能自动化的完成以前需要手动完成的操作.利用ZooKeeper这个工具去监控整个Solr集群,以 ...
- MySql配置主从模式 Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
今天在学习MyCat环境搭建的时候,在配置MySql的主从模式,发现slave在配置完毕后,配置的内容全部正确的情况下,报错了? Last_IO_Error: Fatal error: The sla ...
- solr 主从模式和solrcloud集群模式
主从模式 主节点有单点故障问题:没有主从自动切换,没有failover,主机down掉了的话,整个数据变成只读.并且需要一台机单独做索引,浪费资源,所有数据都需要在这台机器上单独存在一份,索引变化较大 ...
- redis的主从机制 master&slave
转载自:https://www.cnblogs.com/qwangxiao/p/9733480.html 一:master&slave的解释? master&slave就是主从复制,主 ...
- redis 学习笔记(3)-master/slave(主/从模式)
类似mysql的master-slave模式一样,redis的master-slave可以提升系统的可用性,master节点写入cache后,会自动同步到slave上. 环境: master node ...
- ActiveMQ集群支持Master/Slave模式
现在ActiveMQ, 在Failover方面有两种解决方案:Pure Master Slave和Shared File System Master Slave. 先看Pure Master ...
- jenkins的Master/Slave模式
一. Master/Slave模式 分担jenkins服务器的压力,任务分配到其它执行机来执行 Master:Jenkins服务器 Slave:执行机(奴隶机).执行Master分配的任务,并返回任务 ...
- Jenkins—Master/Slave模式
Jenkins可部署在windows或者linux平台上,项目系统的用户多数为windows系统.如果Jenkins部署在linux上,而自动化任务要在windows平台执行,那么就需要使用Jenki ...
- Redis集群~windows下搭建Sentinel环境及它对主从模式的实际意义
回到目录 关于redis-sentinel出现的原因 Redis集群的主从模式有个最大的弊端,就是当主master挂了之前,它的slave从服务器无法提升为主,而在redis-sentinel出现之后 ...
随机推荐
- js Date 函数方法及日期计算
js Date 函数方法 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份 ...
- BZOJ_4809_皇后_爆搜
BZOJ_4809_皇后_爆搜 Description 众所不知,rly现在不会玩国际象棋.但是,作为一个OIer,rly当然做过八皇后问题.这里再啰嗦几句,皇后可以攻击到同行同列同对角线,在n*n的 ...
- vue-cli脚手架搭建Vue.js项目
前提条件: 一.node.js 下载 https://nodejs.org/zh-cn/download/ 二.webpack 安装 npm install webpack -g PS:-g 就是 ...
- CentOS 6 命令行下安装 VirtualBox 虚拟机步骤
CentOS 6 命令行下安装 VirtualBox 虚拟机步骤 1. 准备工作 安装内核更新 yum install kernel-develyum update kernel*如果内核有更新,则需 ...
- String类无子类
1. 关于final修饰符 参考文章: 浅析Java中的final关键字 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量 ...
- 5.oracle中一个字段中存储'a','b'与'a'与a的写法,存储过程中与之对应
select '''a'',''b''' from dual; --'a','b' select '''a''' from dual; --'a' select 'a' from dual; --a
- 关于group_concat函数拼接字符超长的问题
昨天测试的人火急火燎的找我,跟我说数据不对!说明情况后我去查看,原来是数据上有个子查询出来的字段没有完全展示 问题很明显,就是数据被截断了.下面贴上我写的查询 wyids_是正确的显示,通过它子查询出 ...
- 使用 Git 命令去管理项目的版本控制(一)
参考资料:参考 参考 声明本文是作者原创,是自己的学习笔记,仅供学习参考. 在 10.11.2Mac系统中,要显示隐藏的文件夹使用命令行: defaults write com.apple.find ...
- 【eclipse插件开发实战】Eclipse插件开发2——SWT
Eclipse插件开发实战2--SWT 一.SWT简介 SWT(StandardWidget Toolkit) 标准小窗口工具箱,一开源的GUI编程框架,与AWT/Swing有相似的用处,eclips ...
- 大将军UE分析
1.过关奖励,先播放特效,在显示奖励 2.鼠标移到人物身上装备,提示双击卸载 3.战场随机事件,出发开启增加buff 4.主线任务简单化,副本支线可玩性增强 5.乌泱泱几十个活动 6.升级的爽快感[升 ...