浅谈Solr集群架构

     一.SolrCloud从架构图上来看,分为物理结构逻辑结构

        1. 物理结构方面

            一个SolrCloud由多个solr服务器构成,在每台solr服务器上都存在有两个core。

        2. 逻辑结构方面

            索引集合包括两个Shard(shard1和shard2),shard1和shard2分别由三个Core组成,其中一个Leader两

        个Replication,Leader是由zookeeper选举产生,zookeeper控制每个shard上三个Core的索引数据一致,解决高可用问题。用户发起索引请求分别从shard1和shard2上获取,解决高并发问题。



        二.组成部分

        1.     collection

            Collection在SolrCloud集群中是一个逻辑意义上的完整的索引结构。它常常被划分为一个或多个Shard(分片),

        它们使用相同的配置信息。

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

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

         2.     Core

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

        由于collection由多个shard组成所以collection一般由多个core组成。

        3.    Master或Slave

            Master是master-slave结构中的主结点(通常说主服务器),Slave是master-slave结构中的从结点(通常说从服务

       器或备服务器)。同一个Shard下master和slave存储的数据是一致的,这是为了达到高可用目的。

        4.    Shard

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


     三.core和collection的区别

           1.在单节点的Solr服务器中,core和collection其实没有太大区别。

         2.在Solr集群中,core属于物理索引结构,而collection属于逻辑索引结构,一个collection由多个core组成,一个collection由多个shard组成。

         所以总结来说:

            collection数据量太大进行拆分---->多份Shard,每份Shard为每份Shard为collection的不相交子集----->Shard只有一份存在单点故障,每份Shard都复制2份放到其他机器(Replica),我们查询的时候只用到其中一份(Leader)----->一个Shard对应一个Core,每台Solr机器上可以有多个Core-------------->多台Solr机器组成Solr集群。

       



        

猜你喜欢

转载自blog.csdn.net/sscout/article/details/79751159
今日推荐