solrcloud好处在于
1)容错:多台服务器存储相同数据,当某台服务器出现问题,其他服务器可恢复数据
2)进实时搜索
3)查询时自动负载均衡:主从服务都可进行查询服务
4)统一配置(zookeeper)
很抽象?看下面希望对你有帮助
我们先看图然后对比图和下面的分析:
Master为主节点,slave为从节点,主从数据相同,每个shard数据不一样构建成一个coolection。
**
看到这里其实还是不好理解那么看下面:
**
1.反过来理解,假设一主服务多备分,为一组,如上图:
2.一个Master(主服务)和多个slave(备份服务)为一组,
3.那么一组为一个Shard(分片)
4.多组为多个Shard(分片)
5.也就一个shard为多个服务
6.多个Shard为一个collection(完整索引库)
也就在实际中我们将在多台服务器上运行多个tomcat服务如:
服务器A上面有:
tomcat01(主服务)tomcat02(从服务)tomcat03(从服务)
tomcat01看作Master ----------tomcat02和03看作slave
三台tomcat服务器中的数据相同!形成一个Shard
服务器B上面有:
tomcat04(主服务)tomcat05(从服务)tomcat06(从服务)
tomcat04看作Master ----------tomcat05和06看作slave
三台tomcat服务器中的数据相同!形成一个Shard
那么服务器A和服务器B上面所有tomcat的数据 加起来才是一个collection
而这个时候我们可以因为把服务器A看做一个Shard(分片),服务器B看作另一个Shard(分片)而collection看作服务器A+服务器B中的所有数据!
所以我们理解顺序可以如下图:
Shard1 我们可以看作为2个solr(tomcat)Shard2也一样!(本章不对zookeeper集群做解析)
那么接下来就能理解 ”分片“这个名词了且solrcloud的优点了!!!!
如果有帮助!或者还有不明白!欢迎留言!