CONAN ZONE

          你越掙扎我就越興奮

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            0 Posts :: 282 Stories :: 0 Comments :: 0 Trackbacks
          在Lucene/Solr的SVN trunk中的SolrCloud已經可用, 在即將發布的4.0版本中將正式包含.

          目前SolrCloud已經成熟, 可以支持分布式索引和分布式搜索. 下面是我們一個項目采用新的SolrCloud的部署結構圖:

          看起來是否非常簡單? 下面我們看看內部的一些實現細節.

          SolrCloud功能和架構
          下面是SolrCloud一些不錯的功能:
          • 中心化集群配置
          • 自動容災
          • 近實時搜索
          • 領導選舉
          • 索引持久化

          另外SolrCloud也能被配置成:
          分片(shard)索引
          每個shard可以有一個或多個副本(replica)

          多個shard和replica可以組成一個Collection(從圖中可以看出就是一個SolrCloud), 多個Collection可以部署到一個SolrCloud集群. 而一個搜索請求可以同時搜索多個Collection. 其工作流程就像下圖中那樣.


          SolrCloud Shard, Replica, Replication
          就像上圖那樣, 一個新的doc將發送到一個SolrCloud集群中任何一個節點. doc能自動選擇發送到哪一個Shard, 如果Shard有多個副本, doc會自動進行同步, 與原來的master/slave結構有所不同, 數據同步是實時的(原來則是定期批量同步).

          集群配置
          SolrCloud集群的所有的配置存儲在ZooKeeper. 一旦一個SolrCloud節點啟動, 該節點的配置信息將發送到ZooKeeper上存儲.

          Shard Replica除了作為容災備份存在, 另外一個作用就是分散查詢請求, 提高整個集群的查詢能力.

          索引處理
          索引文檔的更新在Shard和Replica之間是自動和實時的. 因為不存在master server, doc可以發送到任何一個SolrCloud(也就是一個Collection), 然后由SolrCloud完成剩下的事情. 這樣就不再存在以前master/slave的單點問題.

          搜索方式
          有三種不同的搜索方式:
          在單個Solr實例上搜索
          在單個Collection上搜索(即在一個Collection的多個Shard上搜索)
          在指定的Shard上搜索
          在多個Collection上搜索, 并將最后merge的結果返回.

          運維管理
          除了原來的標準core admin, 還增加了其他方式:
          在一個Collection上創建一個Shard
          新建一個Collection
          增加節點.

          下一步計劃
          http://wiki.apache.org/solr/NewSolrCloudDesign
          有新的SolrCloud設計方案.
          posted on 2012-05-30 14:47 CONAN 閱讀(1295) 評論(0)  編輯  收藏 所屬分類: Solr
          主站蜘蛛池模板: 绥宁县| 腾冲县| 祥云县| 城固县| 萍乡市| 丹寨县| 高雄县| 福清市| 青川县| 科尔| 七台河市| 长泰县| 华安县| 鄂州市| 松溪县| 海伦市| 隆化县| 宁波市| 惠安县| 昌图县| 云林县| 册亨县| 万山特区| 霍林郭勒市| 色达县| 扶绥县| 隆尧县| 万州区| 太仓市| 楚雄市| 唐山市| 遂宁市| 清原| 德惠市| 钦州市| 镇坪县| 徐水县| 天津市| 土默特左旗| 通江县| 贵阳市|