1、什么是SolrCloud

  SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求。

  SolrCloud是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心。

  它有几个特色功能:

  1)集中式的配置信息

  2)自动容错

  3)近实时搜索

  4)查询时自动负载均衡

2、Solr集群的系统架构

  

2.1. 物理结构

  三个Solr实例( 每个实例包括两个Core),组成一个SolrCloud。

2.2. 逻辑结构

  索引集合包括两个Shard(shard1和shard2),shard1和shard2分别由三个Core组成,其中一个Leader两个Replication,Leader是由zookeeper选举产生,zookeeper控制每个shard上三个Core的索引数据一致,解决高可用问题。

用户发起索引请求分别从shard1和shard2上获取,解决高并发问题。

  2.2.1.    collection

    Collection在SolrCloud集群中是一个逻辑意义上的完整的索引结构。它常常被划分为一个或多个Shard(分片),它们使用相同的配置信息。

    比如:针对商品信息搜索可以创建一个collection。

     collection=shard1+shard2+....+shardX

  2.2.2.    Core

    每个Core是Solr中一个独立运行单位,提供 索引和搜索服务。一个shard需要由一个Core或多个Core组成。由于collection由多个shard组成所以collection一般由多个core组成。

  2.2.3.    Master或Slave

    Master是master-slave结构中的主结点(通常说主服务器),Slave是master-slave结构中的从结点(通常说从服务器或备服务器)。同一个Shard下master和slave存储的数据是一致的,这是为了达到高可用目的。

  2.2.4.    Shard

    Collection的逻辑分片。每个Shard被化成一个或者多个replication,通过选举确定哪个是Leader。

2.3需要实现的solr集群架构

  

最新文章

  1. ajax 提交表单文件上传
  2. linux crontab定时任务调用CI框架PHP代码
  3. 烂泥:rsync与inotify集成实现数据实时同步更新
  4. 《DOM启蒙》 随笔
  5. SQLite数据库的基本操作
  6. UILabel 的高度根据文字内容调整
  7. iOS开发之网络编程--XCode7 更新以来需要手动设置的内容
  8. HDU 1010 (DFS搜索+奇偶剪枝)
  9. WPF设置控件获得焦点
  10. (NO.00001)iOS游戏SpeedBoy Lite成形记(十九)
  11. Springboot通过cors解决跨域问题(解决spring security oath2的/oauth/token跨域问题)
  12. 搭建WordPress 个人博客
  13. LoadLibrary加载动态库失败
  14. linux下的arm汇编程序
  15. 【Algorithm】快速排序
  16. MQ遇到的错误(2035 或 2013认证错误)
  17. SharpGL学习笔记(七) OpenGL的变换总结
  18. jenkins集成caliper"
  19. Python中hashlib模块
  20. Mysql 自增列 主键

热门文章

  1. Flink初探wordCout
  2. python之scrapy爬取jingdong招聘信息到mysql数据库
  3. python之scrapy模块scrapy-redis使用
  4. WebXML部署服务
  5. Java集合(2):两个生成器的例子:Collection生成器CollectionData及Map生成器MapData
  6. Paper Mark
  7. JRebel for IntelliJ
  8. Mac下配置多个SSH Keys
  9. vue cli 3.0设置指定端口号运行
  10. CentOS7.5下,MySQL安装配置指南