除了谷歌和百度還必須瞭解的 Elasticsearch 的前世此生必看

當說到搜索時,大部分人可能只會說谷歌、百度等,但在企業內部的數據搜索還面臨許多挑戰,這就須要依賴開源的搜索技術,Elastic 公司就誕生了。本文講講 Elasticsearch 前世此生,可讓咱們從總體上理解這個產品這家公司。生活中你遇到不懂的問題找百度或者谷歌,而在一個網站上面,好比淘寶,京東等電商買東西,去B站搜索好玩的視頻,去抖音搜索等等,這些網站的搜索技術基本都是依賴於下面要說的這家公司Elastic。前端

誕生的前夜

許多年前,一個剛結婚的名叫ShayBanon的開發者,跟着他的妻子去了倫敦,他的妻子在那裏學習廚師。在尋找一個賺錢的工做的時候,爲了給他的妻子作一個食譜搜索引擎,他開始使用 Lucene 的一個早期版本。數據庫

直接使用 Lucene 是很難的,所以 Shay Banon 開始作一個抽象層,Java 開發者使用它能夠很簡單的給他們的程序添加搜索功能。 他發佈了他的第一個開源項目 Compass。後端

聽說,Shay 的妻子還在等着她的食譜搜索引擎…服務器

食譜搜索引擎沒作完, 卻建立了一個開源項目Compass,這是2004年架構

誕生時刻

後來 Shay Banon 得到了一份工做,主要是高性能,分佈式環境下的內存數據網格。這個對於高性能,實時,分佈式搜索引擎的需求尤其突出,他決定重寫Compass,把它變爲一個獨立的服務並取名 Elasticsearch。運維

第一個公開版本在2010年2月發佈,今後之後,Elasticsearch 已經成爲了 Github 上最活躍的項目之一,他擁有超過300名 contributors(目前736名 contributors )。 一家公司已經開始圍繞Elasticsearch提供商業服務,並開發新的特性,可是,Elasticsearch 將永遠開源並對全部人可用。分佈式

快速發展

  • 2012年,Shay 成立了商業的公司Elasticsearch來對外提供商業的產品和服務。微服務

  • 2014年,成立公司僅僅18月之後,得到7000萬美金的融資。性能

  • 2015年,公司名稱從Elasticsearch改成Elastic ,由於公司的主要產品已經從單純的Elasticsearch變爲ELK(Elasticsearch ,Logstash和Kibana)。學習

  • 2017年10月13日宣佈與阿里雲簽署達成多年的戰略合做夥伴關係,並提供新的阿里雲 Elasticsearch 服務。這項新的服務將把 Elasticsearch、Kibana、及全部 X-Pack 的功能託管在阿里雲上,讓客戶能在阿里雲上一鍵部署。

  • 2018年美國時間10月5號,成功上市。股票(股票代碼:ESTC)更是大漲,發行價爲 36 美圓,最高漲至 74.20 美圓,最終收盤價爲 70.00 美圓,漲幅 94.44%,幾乎翻倍。從公司成立到上市僅用了 8 年,超過 3.5+ 億的產品下載,100萬+ 名開發人員及 5,500+ 個客戶。上市當天CEO Shay Banon 親自發文感謝

  • 2019年5月23日 宣佈 Elastic 與騰訊雲達成全球合做關係。

騰訊雲 Elastic 服務將會與 Elastic 在本身 Elastic Cloud 上提供的 Elasticsearch Service(以及與 Elastic 合做的其餘平臺之上的服務)保持一致,讓用戶不只可使用 Elastic Stack 的所有功能以及 Elastic 愈來愈豐富的解決方案(例如 App Search、Site Search、Enterprise Search、Logging、APM、Metrics、Security、Business Analytics 等等),還能在多種雲服務之間的無縫轉換。

Elasticsearch 版本迭代


date ES version
on 10 Apr 2019 7.0.0
on 15 Nov 2017 6.0.0
on 26 Oct 2016 5.0.0
on 22 Oct 2015 2.0.0
on 13 Feb 2014 1.0.0
on 8 Feb 2010 0.90.x -> 0.4.0

目前最新版本已經到 v7.3.2

Elastic 能夠幫你解決什麼問題?

試想一下:

在一個風和日麗的下午,你手機上收到一條告警短信,因而點擊連接,打開 Kibana 的監控儀表盤,發現某臺服務器的 CPU 達到 100% 了。

因而,你順手點擊過濾這臺服務器的全部相關信息,能夠看到相關的日誌顯示,是這臺服務器上面部署的某一個業務服務的 QPS 有顯著降低,而後過濾到這個業務的日誌,發現有不少異常的日誌信息,前端 Nginx 代理日誌還顯示有不少請求被拒絕,看樣子是後端的微服務處理能力達到瓶頸。

這個時候,繼續點擊 APM 的分析面板,切換到事務和會話分析界面,看到有不少數據庫連接處於開啓狀態。

你點擊查看調用代碼,立馬就找到了性能瓶頸的緣由,原來是某個類的某個方法調用 MySQL 卻沒有及時釋放連接形成了泄露,因而修改這行代碼,提交上線,問題解決。而後,你能夠若無其事地繼續瀏覽相親網站啦。

儘管這是一個假想的例子,可是能夠看到,基於 Elastic Stack ,你能夠覆蓋一整套完整的,從全局性能監控到具體代碼級別的排障和解決問題的過程,而且使用起來要比不少現有的方案更加高效和便捷。

這個故事說明了 Elastic Stack 平臺的魅力,技術能夠改變你的生活。

最近Elastic 發展真是太快了,推出了各類開源產品使用:

若是你沒有一個強大的技術團隊,還能夠經過雲端部署,交給更專業的人處理,更快捷高效。

Elasticsearch在智能運維領域的應用也很是廣闊, 2017年5月4日官方推出 Elastic Stack Machine Learning,並將 Prelert Machine Learning 技術徹底集成到 Elastic Stack。下面一篇阿里的應用參考:

阿里雲Elasticsearch在智能運維領域的應用

將來屬於搜索

這個時代是數據的時代,信息的大爆炸,如何篩選信息,過濾信息成爲了一個高手必會的技能,否則會被天大數字的信息,壓的喘不過氣。搜索的技術正式這個時代的一把利器,將來搜索能夠幫咱們作不少意想不到的事情。

接下來,會一步一步經過Elastic 相關技術的學習,起先先經過 Elasticsearch 的入口。

下一篇會帶來,如何規劃高效能學習Elasticsearch 的技術,歡迎訂閱關注我。

END

若有收穫,請幫忙轉發,後續會有更好文章貢獻,您的鼓勵是做者最大的動力!

歡迎關注個人公衆號:架構師的修煉,得到獨家整理的學習資源和平常乾貨推送。

相關文章
相關標籤/搜索