1. 程式人生 > >SolrCloud叢集簡介

SolrCloud叢集簡介

SolrCloud(solr 雲)是Solr提供的分散式搜尋方案,當你需要大規模,容錯,分散式索引和檢索能力時使用 SolrCloud。當一個系統的索引資料量少的時候是不需要使用SolrCloud的,當索引量很大,搜尋請求併發很高,這時需要使用SolrCloud來滿足這些需求。

 SolrCloud是基於Solr和Zookeeper的分散式搜尋方案,它的主要思想是使用Zookeeper作為叢集的配置資訊中心。

它有幾個特色功能:

1)集中式的配置資訊

2)自動容錯

3)近實時搜尋

4)查詢時自動負載均衡

1.1. 物理結構

三個Solr例項( 每個例項包括兩個Core),組成一個SolrCloud。

1.2. 邏輯結構

索引集合包括兩個Shard(shard1和shard2),shard1和shard2分別由三個Core組成,其中一個Leader兩個Replication,Leader是由zookeeper選舉產生,zookeeper控制每個shard上三個Core的索引資料一致,解決高可用問題。

使用者發起索引請求分別從shard1和shard2上獲取,解決高併發問題。

1.2.1.    collection

Collection在SolrCloud叢集中是一個邏輯意義上的完整的索引結構。它常常被劃分為一個或多個Shard(分片),它們使用相同的配置資訊。

比如:針對商品資訊搜尋可以建立一個collection。

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

1.2.2.    Core

每個Core是Solr中一個獨立執行單位,提供 索引和搜尋服務。一個shard需要由一個Core或多個Core組成。由於collection由多個shard組成所以collection一般由多個core組成。

1.2.3.    Master或Slave

Master是master-slave結構中的主結點(通常說主伺服器),Slave是master-slave結構中的從結點(通常說從伺服器或備伺服器)。同一個Shard下master和slave儲存的資料是一致的,這是為了達到高可用目的。

1.2.4.    Shard

Collection的邏輯分片。每個Shard被化成一個或者多個replication,通過選舉確定哪個是Leader。