0、題記
由於2019年Elastic開發者大會下午分3個會場,使勁渾身解數也只能串了兩個分場,所以下面的分享肯定信息不全面。
全面信息後續建議參考Elastic中文社區的PPT。文中可能的細節錯誤,歡迎大家留言指正。
您的參會乾貨和認知習得,也歡迎留言討論交流。
1、感觸
從沒有見過哪個大會,能幹貨連連、高潮此起彼伏、全程無尿點;
從沒有見過哪個大會,與會者能持續葆有相當高的熱情;
從沒有見過哪個大會,過道里也站滿了人專心聽講,且沒有一個人喊累;
從沒有見過哪個大會,嘉賓毫無保留的分享技術乾貨,即便部分內容打了馬賽克,但技術細節沒有過分閹割;
從沒有見過哪個大會,與會講者老師知無不言、言無不盡;
從沒有見過哪個大會,所有人站着吃盒飯,還非常高興;
從沒有見過哪個大會,會後大家圍着分享嘉賓問問題,直到主持人打斷、直到開始下一場分享;
從沒有見過哪個大會,大家走的時候不斷回望,非常戀戀不捨,感嘆時間過得太快。
......
這是Elastic一年一度的盛會,這是Elastic愛好者的朝聖日和狂歡日。
近距離接觸,才能體會到開源的強大、分享的強大、社區的強大。
近距離接觸,才能明白差距,很多一線大廠已遠遠走在技術的最前沿,在內核層、源碼層、業務層做過大量的創新、優化實戰。
.....
感慨萬千,無以言表.....
2、關鍵詞
滿滿的一天行程下來,以下幾個關鍵詞一直在腦海迴盪。
的確,我們不期望所有嘉賓的分享全部記住,也許幾個關鍵詞,就能改變我們的底層認知。
2.1、快
快,正如吳斌老師所說,一方面是:檢索速度快;另一方面是版本迭代快。
在上半年我們感嘆7.X都出來的時候,前幾天7.5都發布了。
思考:我們不一定立馬將線上環境切換到最新版本,但新版本的特性要做到有所瞭解,爲後續選型
提供技術儲備很重要。
2.2、搜索中臺
今年中臺的熱度不亞於前幾年的“區塊鏈”的熱度。
搜索中臺
:基於後臺爲前臺提供結構化/非結構化數據彙集、管理、利用、服務支撐。
企業中臺的優勢:
1、快速開發
接入、搜索實現了可視化配置。
2、統一解決方案
不直接面嚮應用,提供統一解決方案,支持二次開發,各系統變化時工作量大幅減少。
3、靈活複用
功能、數據多次複用,解決方案不侷限於某一領域。
思考:這很可能是未來搜索的方向
,你跟不跟?
2.3、智能運維
在超大規模集羣的管理方面,將人的經驗值通過代碼固化或者機器學習的方式運用到管理平臺就是智能運維的範疇。
阿里雲的EYou和字節頭條的DataPlace都已經做的非常成熟,騰訊雲也做了相關佈局。
這點,非一線大廠可以學習的地方就是:開發、運維線上實戰環境問題都可以做成checklist積累。
我們不一定做成可配置、自動化監測平臺,但經驗的提煉總結時間越長遠、價值越大。
2.4、可觀測性
社區主席劉徵從認知的角度講解了如何破解雲原生的可觀測性
。
從我們已知道的健康檢查、指標、追蹤、日誌探尋到不知道不知道的未知事件,建議我們從日誌發生時間、日誌信息、對應服務、對應程序、程序運行位置、受到影響、追蹤標識構建高維度結構化日誌,釋放排錯日誌的無限潛能,全方位實現日誌的可觀測性,以便最短時間定位線上問題的根因。
我在線下聽的時候,反思了另外一個相得益彰的問題:
一方面我們要完備日誌的方方面面,以期望出現問題能快速定位到原因;
另一方面我們在發佈之前也要做好完備的代碼覆蓋率檢測,確保每個子邏輯都能覆蓋。
兩者結合才能最大化效能。
2.5、k8s
服務器的虛擬化、容器化是大勢所趨。
K8S在Docker技術的基礎上,爲容器化的應用提供部署運行、資源調度、服務發現和動態伸縮等一系列完整功能,提高了大規模容器集羣管理的便捷性。
Prometheus是近年比較火的開源監控框架,結合grafana進行可視化監控。
Prometheus相對zabbix更靈活點,模塊間比較解耦,比如代理模塊、告警模塊等等都可以選擇性配置。服務端和客戶端都是開箱即用,不需要進行安裝。而zabbix則是一套安裝把所有東西都弄好,相對龐大且繁雜。
包括新東方在內的很多大廠都在用,踩過一些坑,但給後來人的ES容器化進程
指明瞭方向。
2.6、9999
貝殼、騰訊雲老師都強調了9999的概念,是:集羣穩定性的99.99%的挑戰。
正如貝殼老師分享,ES集羣穩定性保障可能面臨的問題(這裏非常重要
,所以我敲了一遍):
1、雙集羣雙機房備份;
2、查詢自動熔斷降級;
3、主備集羣一鍵分流;
4、故障節點自動遷移;
5、每天定時快照備份;
6、基礎監控報警;
7、慢查詢監控報警;
8、慢查詢統計巡檢;
9、慢查詢預測熔斷。
如何做到9999呢?(前方高能
,建議放慢節奏)
以下的方法論,相信我們可以“拿來主義”,推廣到公司使用。
1、監控報警——重視監控報警,專人專項。精準報警,提前預警。
2、墨菲定律——任何可能出現的故障都必然出現。
3、蝴蝶效應——配置審覈,流程規範;重點變更,回滾策略。
4、未雨綢繆——最壞打算,最好準備;風險預 案,故障演練。
5、包產到戶——每個系統,每個子系統,每個模塊,責任到人;
6、技術修養——敬畏心,不犯低級錯誤;責任心、全面性。
2.8、向量檢索
當我們在做日誌、文本檢索的時候,大廠早已開始佈局圖片等的向量檢索。
阿里雲的達摩院技術支撐的向量檢索、貝殼的未來佈局:準備使用Faiss(Facebook開源向量檢索)。
思考:未來5G的普及,圖片、視頻的向量檢索
將是未來的趨勢。
2.9、源碼級和內核級優化
社區報告也顯示,有6%+的開發者參與了源碼和內核級別的探究,甚至提了PR。
阿里雲、騰訊雲等基於不同用戶的業務場景做了讀寫優化、分詞優化等。
奇安信也是基於源碼改動做了自己維護分支
的管理,以滿足線上業務環境。
說這個,主要感覺我們平時的參數優化、性能優化、日誌問題排查等都太naive、too young、too simple。保持敬畏之心,別滿足現狀,學習和提升空間大的很!
2.10、稀缺
Elasticsearch認證工程師全國只通過了21位
,很震撼、很稀缺!
思考:從經濟學角度,稀缺就意味着貴;同時,稀缺也意味着機會!
感嘆難度大的同時,另一個角度看:我們努力都有了方向。
3、7.X 必知新特性
以下是挑重點整理,詳情建議查看朱傑老師PPT分享。
3.1 enrich processor
新的pipeline特性——使用enrich processor來簡化數據的攝取。
即:使用enrich processor在ingest期間將現有索引中的數據添加到傳入文檔中。
3.2 Flattened field
產生背景:防止集羣mapping暴漲。
具體實現:Flattened field作爲一個新的字段類型,暴漲的字段往裏填充,但是其裏的所有字段都是keyword類型,不支持全文檢索和高亮等一些非keyword支持的特性。
3.3 rare terms aggregation
中文名:稀有聚合。
產生背景:試想:要取某個分類的Top1的值,用terms聚合+排序在多分片的場景是不精確的。
而:稀有聚合就是爲了解決精確性應運而生。
更多細節建議查看:
https://www.elastic.co/guide/en/elasticsearch/reference/7.5/breaking-changes-7.5.html
3.4 kibana 拖拽智能分析
貼合用戶很強大的功能。
4、爲什麼參加Elastic開發者大會?
今天見到了Medcl、吳斌、魏彬、張超、劉徵等Top N Elastic大拿,非常興奮。喜悅之情很像腦殘粉見到自己的偶像。
以下部分是我參會前在地鐵裏的思考,首發在了星球裏。
一天下來,感覺收貨滿滿、以下幾點小目標都達成了。
4.1 提升認知
一個人在公司裏專研產品或者項目,最多是一個團隊或者多個團隊協作。
公司內部的技術體系一致,時間久了,你會發現大家水平一致,甚至經常懷疑架構師也就那水平。
這些,可能就是技能或者認知天花板,急需破局。
人們認知的四個維度:我知道我知道,我知道我不知道,我不知道我知道,我不知道我不知道。
我們想打開:我不知道我不知道的窗戶。
Elastic原廠工程師、BAT的大佬能現在更高,以俯視全局的姿態幫我們捅破窗戶紙!
我們苦苦探尋摸索的路,很可能是低效能的路、很可能有極大優化空間,大佬們的分享就是給我們認知前行的某個方向提前踩坑,告訴你坑都幫你踩了,告訴你最短路徑
,你聽不聽?
4.2 跟未來的自己對話
實際公司環境決定,很多條件我們不具備,比如:PB級大數據,上百臺高性能服務器集羣,數據實時同步,高可用等,但是未來業務發展可能會用到。
我們的疑惑,我們的未來可能遇到的坑,一些一線大廠的工程師早就遇到過且很好的解決了。
隨着水平提高,未來的你肯定在公司一點點晉升或者跳到大廠,提前習得一些哪怕一點點有幫助東西,都是有好處的。此刻的我們現在臺下,未來的我們必然站在臺上將自己的經驗侃侃而談。
4.3 習得搜不到的知識
平時,我們學知識途徑,看書、看博客、看文檔、社區提問、買視頻越來越豐富。
但你是不是和我一樣:很多東西,由於沒有實戰過,google,stackoverflow都不好搜到,更不用說:看書的滯後
了。
很多現在光鮮實戰經驗,都是線上踩坑的血淋淋的教訓總結。
他山之石可以攻玉,也是這個道理。我們要習得別人的“他山之石”。
4.4 和大佬面基
各個行業都有領域的真大佬,相信明天的現場也會有很多社區裏幫助過我們的大佬。
面基一時爽,一直面基一直爽。
大佬們醍醐灌頂的一句點撥,勝過我們悶頭苦讀十年書。有點誇張,但期望靈光一現。
4.5 掌握業界最新動態
低頭前行和擡頭看路兩不誤,腳踏實地和仰望星空兩不誤。
很多時候,低頭久了不知道前行的方向了。而,新技術的普及和佈道就是我們前行路上的燈。
實際很多公司還在用es5.x,2.x甚至更低版本,不好升級也體會不到高版本的性能優勢。
5、小結
可能會有人說,這玩意我實際業務用不到,大廠的場景和問題我們小廠根本遇不到,有必要知道嗎?
我反問一句:達芬奇臨死前還在琢磨“啄木鳥的舌頭的長度?" 有用嗎?
現在不見得有用,但要以發展的眼光看待問題。
對技術保持敬畏之心、保持孩童般好奇之心,會使我們走的更遠。
更多細節,建議大家及時關注社區分享!
推薦: