Solr In Action 中文版 第一章(三)

  1. 1.1              爲何選用Solrios

在本節中,咱們但願能夠提供一些關鍵信息來幫助於你判斷Solr是不是貴公司技術方案的正確選擇。咱們先從Solr吸引軟件架構師的方面提及。web

  1. 1.1              軟件架構師眼中的Solr服務器

在評估一項新技術時,軟件架構師必需要考慮一系列的因素,其中就包括系統的穩定性,可伸縮性,還有容錯性。Solr在這三方面的得分都很不錯。架構

         說到穩定性,Solr是一個由活躍的開源社區和經驗豐富的代碼提交者共同維護的一項成熟技術。SolrLucene的新用戶們一般會驚訝於項目的發佈方式,可能他們之前都是等待某個項目的官方Release版,沒據說過這種從分支上直接pull下來的方式。無論你的公司是否接受這種方式,咱們並非建議你這麼作,咱們想代表的是,LuceneSolr項目中自動測試模塊的測試深度和寬度是值得信任的。簡單來講,若是你從分支上拿到了一個nightly build,若是全部的自動測試都能經過,那你就能夠放心的確定全部的核心功能都是ok的了。負載均衡

         咱們在1.2.6節中已經接觸到了Solr實現可伸縮性擴展的方法,在1.2.7節中也討論了容錯性的問題。做爲一個架構師,你可能最好奇的是Solr的可伸縮性功能和容錯性功能的侷限到底在哪裏。首先,你須要知道在Solr4中,分片功能和複製備份功能都被重寫了,在魯棒性和易於管理方面都有很大提升。新的擴展方式被稱爲SolrCloud。其底層實現上,SolrCloud使用了Apache ZooKeeper來管理Solr集羣上的配置同步,並監控集羣的運行狀態。這裏列出了一些Solr全新的SolrCloud功能的亮點:分佈式

·中心化的配置學習

·分佈式的索引,避免單點失敗(SPoF測試

·自動容錯,自動產生新的主分片ui

·任意節點都可觸發覆蓋整個集羣全部分片的分佈式全查詢,且已經集成了自動容錯和負載均衡spa

可是這並非說Solr的可伸縮性就沒有提升的空間了。SolrCloud在兩方面還有待提升。首先,不是全部功能都能工做在分佈式模式下。好比 joins鏈接功能。其次,一旦索引創建,索引的分片數目就不能再動態調整,要想改變分片數的話只能從新對全部文檔創建索引。咱們在第16章會詳細討論SolrCloud的方方面面,可是咱們但願確保軟件架構師們可以意識到Solr的可伸縮性過去幾年中已經走過了很長的路,並且從此還將繼續不斷地改進下去。

  1. 1.2              系統管理員眼中的Solr

做爲一名系統管理員,在考慮開始使用像Solr這樣的一種新技術時,最優先考慮的是新技術是否可以很好地和已有系統進行配合。對於Solr來講對這個問題能夠很輕鬆的回答YESSolr 徹底是基於JAVA開發的,能夠在任意一個裝有J2SE 6.x/7.x JVM虛擬機的操做系統上運行。並且Solr還自帶了Oracle提供的開源Java Servlet引擎Jetty,拿來就能用。另外一方面,Solr是一個標準的Java Web應用,能夠很方便的在JBoss或是Oracle AS之類的Java web應用服務器上進行部署。

Solr的全部操做均可以經過HTTP請求來完成, 而且Solr在設計時就考慮到了同Squid或是Varnish這樣的HTTP反向代理協同工做。Solr同時也支持JMX,因此你能夠把Solr掛載到你喜歡的監控程序(好比Nagios)之下進行監控。

最後,Solr提供了一個不錯的管理控制檯, 能夠用於檢查配置,查看統計信息,發起測試查詢,以及監控SolrCloud的健康狀況等等。圖1.4展現了Solr4 管理控制檯的一個截屏,咱們會在第二章中詳細的學習管理控制檯的使用。

  1. 1.2.1        公司CEO眼中的Solr
    儘管CEO之類的人物是不太可能看這本書的,咱們仍是要寫幾點關鍵的,以便於萬一CEO在大廳裏叫住你聊聊的時候你能夠拿這幾點去忽悠他。首先,管理層的人喜歡聽到他們今天對技術作出的一筆投資將會在從此很長一段時間內都產生效益。具體到Solr,你能夠強調一下許多公司至今還在靠着Solr 1.4運行公司的產品,這但是2009年發佈的老版本,這說明Solr是有着成功的商用案例的,而且一直持續在改進。

此外,CEO們喜歡可控可預測的技術。正如你在接下來的章節裏所要看到的那樣,Solr很好用,你能夠在幾分鐘以內就搭起一個簡單的Solr服務。另外一個疑問是若是萬一負責Solr的那個員工跳槽或是跑路了,咱們公司的業務會受到影響嗎?不會所以整個服務當掉把?Solr的技術確實比較複雜,可是其開源社區很是的活躍,這意味着你只要上去求助基本上都能及時獲得幫助。並且,你是直接能夠看到源碼的呀,有的時候你發現一個地方寫的有問題那你能夠直接本身fix掉就好了。另外也有許多商業化的服務商能夠幫你規劃,實現和維護你的Solr系統,其中不少服務商還提供Solr相關的培訓課程。

接下來這一點可能CFO更關心,就是使用Solr的投資花費問題。投資使用Solr其實花不了多少錢。咱們不用知道你的運營環境的規模大小就能夠很自信的說,你能夠在幾分鐘以內就搭起一個簡單的Solr服務,而且很快就能夠創建文檔的索引。如今搭在雲端的一個服務器能夠在亞秒級(譯者注:即不到一秒的時間以內)就處理完上百萬的文檔請求。

相關文章
相關標籤/搜索