下一页亚洲11p_国产精品亚洲第一页在线观看_麻豆影院在线观看免费视频_亚洲色播在线观看_激情亚洲欧美另类小说图片

您現(xiàn)在的位置 :

首頁  >  企業(yè)新聞 >  > 正文

【ES三周年】淺談Elasticsearch Serverless設(shè)計(jì)與選擇

時(shí)間 :2023-02-16 21:19:00   來源 : 騰訊云

Why Elasticsearch Serverless

最近,云上許多數(shù)據(jù)存儲(chǔ)和分析應(yīng)用,如MongoDB、Kafka、AstraDB、ClickHouse、DynamoDB等都提供了Serverless模式。這些應(yīng)用通過Serverless平臺(tái),使用者可以輕松部署和管理應(yīng)用程序,并以最小的成本使用云資源。


(資料圖片僅供參考)

image.png

Serverless之所以成為一個(gè)熱潮,其原因在于這種模式對(duì)于云上的應(yīng)用供應(yīng)商和用戶來說都提供了極大的好處:

減少成本通過Serverless模式,供應(yīng)商可以節(jié)省大量的服務(wù)器管理和維護(hù)費(fèi)用。同時(shí),用戶只需在使用時(shí)付費(fèi),而不是預(yù)付服務(wù)器租賃費(fèi)用,從而大大降低了成本。靈活性增強(qiáng)通過Serverless模式,用戶可以隨時(shí)在云上部署、擴(kuò)展和縮減應(yīng)用。用戶不再需要擔(dān)心服務(wù)器管理和維護(hù),可以更加專注于自己的業(yè)務(wù)。提高可靠性通過Serverless模式,供應(yīng)商可以提供高可靠性的服務(wù),通過自動(dòng)擴(kuò)展和冗余機(jī)制,確保應(yīng)用始終保持可用。

而Elasticsearch作為一個(gè)被廣泛使用的搜索引擎,與其他的數(shù)據(jù)存儲(chǔ)和分析應(yīng)用一樣,用戶在成本、穩(wěn)定性、靈活性上對(duì)Elasticsearch服務(wù)有很高的要求,相對(duì)于已經(jīng)有的PaaS服務(wù),越來越多的用戶期望的是一個(gè)完全托管的體驗(yàn),希望能從管理軟件和操作系統(tǒng)版本、管理部署拓?fù)浣Y(jié)構(gòu)、管理容量和資源大小、應(yīng)用低級(jí)配置(如某個(gè)線程池的大?。?、管理高可用性、備份和持續(xù)的集群操作以及監(jiān)測健康狀況的負(fù)擔(dān)中解放出來。

Serverless之于PaaS

我們期望Serverless的Elasticsearch service能夠處理資源配置,盡可能地自動(dòng)適應(yīng)支持用戶的工作負(fù)載,自動(dòng)從故障中恢復(fù),加密數(shù)據(jù),管理軟件升級(jí),執(zhí)行備份,并執(zhí)行一個(gè)完全管理的服務(wù)所需的其他任務(wù)。

所以,本文旨在介紹如何設(shè)計(jì)一個(gè)Elasticsearch Serverless應(yīng)用,并通過探討一些指導(dǎo)性的原則, 幫助我們理解Elasticsearch Serverless應(yīng)用應(yīng)該具備哪些特性,并以此作為我們選擇Elasticsearch Serverless的評(píng)估參考項(xiàng)。

Elasticsearch Serverless的設(shè)計(jì)考慮因素

在設(shè)計(jì)Elasticsearch serverless應(yīng)用時(shí),我們需要保證serverless應(yīng)用不會(huì)降低一個(gè)PaaS產(chǎn)品所能提供給用戶的體驗(yàn),并且應(yīng)該盡可能的強(qiáng)化與改進(jìn),包括:

可擴(kuò)展性:Serverless應(yīng)用必須具有良好的可擴(kuò)展性,以應(yīng)對(duì)不斷增長的數(shù)據(jù)量和請(qǐng)求量??捎眯裕簯?yīng)用必須在任何時(shí)候都可以對(duì)外提供服務(wù),確保高可用性。靈活性:用戶必須能夠根據(jù)自己的需求來調(diào)整資源配置,而不需要進(jìn)行任何繁瑣的操作。效率:應(yīng)用必須在最短的時(shí)間內(nèi)處理請(qǐng)求,提供最快的響應(yīng)速度。安全性:應(yīng)用必須具有良好的安全性,以保護(hù)用戶的數(shù)據(jù)不被非法訪問。

在這個(gè)基礎(chǔ)上,Elasticsearch serverless還應(yīng)該具備以下特性

縮放到零,按需計(jì)費(fèi)。Serverless應(yīng)用的核心優(yōu)勢(shì)在于用戶只需在使用時(shí)付費(fèi),而不是預(yù)付服務(wù)器租賃費(fèi)用。對(duì)于沒有占用的資源,Serverless應(yīng)該能夠?qū)⑵洹搬尫拧保ü蚕恚?,并且不?duì)用戶收取費(fèi)用對(duì)現(xiàn)在集群模式進(jìn)行抽象、屏蔽與隔離。具體來說,就是對(duì)于Elasticsearch上的集群、節(jié)點(diǎn)、索引、分片等概念進(jìn)行抽象與屏蔽。提供類似“項(xiàng)目”,“空間”等概念,隱藏物理部署,并讓用戶可以組織相關(guān)的資源分組(例如dashboard、可視化和索引等),以支撐共享資源上的邏輯隔離與多租戶保留核心API,兼容Elastic生態(tài)。在Serverless上,大多數(shù)控制部署和Elasticsearch集群的物理性的API需要對(duì)用戶屏蔽(例如cluster API, node lifecycle API, cloud deployment management APIs),但需要保留索引和搜索的核心API功能,盡可能地讓用戶能從Elastic Stack廣泛的生態(tài)系統(tǒng)和強(qiáng)大的社區(qū)用例中受益。明確的Serverless的主流使用場景。Elasticsearch serverless并非適用于所有場景,一些高度定制化,或者對(duì)集群性能有極致要求,有超高吞吐的場景更適合使用專有集群。Elasticsearch serverless不應(yīng)該過度承諾,而應(yīng)該在使用說明中,給用戶指明合適的用例,或者不適合的場景。提供場景化的方案。Elasticsearch作為一個(gè)通用搜索引擎和數(shù)據(jù)分析工具,相對(duì)于其他工具最大的不同是,其廣泛的應(yīng)用于多種場景,如搜索、企業(yè)搜索、日志分析、用戶行為分析、全觀測,安全分析等各種不同場景。而在不同場景下,Elasticsearch,以及整個(gè)Elastic Stack在部署拓?fù)浣Y(jié)構(gòu)、容量和資源大小配置、應(yīng)用低級(jí)配置、數(shù)據(jù)類型與管理等方面都有不同,Serverless應(yīng)該為用戶提供對(duì)應(yīng)的場景選擇,并根據(jù)最佳實(shí)踐,配置場景對(duì)應(yīng)所需的底層配置和管理。提供完整的Elastic Stack的Serverless。這是對(duì)場景化方案的延續(xù),特別是對(duì)于用于企業(yè)搜索、日志分析、全觀測性、安全的場景,類似于像采集模塊的集中管理軟件、機(jī)器學(xué)習(xí)節(jié)點(diǎn)、數(shù)據(jù)處理軟件、APM撥測軟件等,也應(yīng)該提供Serverless模式,并且能夠在界面上完成Serverless應(yīng)用的端到端的配置。提供平衡成本與性能的杠桿。Serverless雖然為用戶屏蔽及代管了操作和管理層面的許多細(xì)節(jié)。但不意味著用戶不再需要針對(duì)自己的情況進(jìn)行調(diào)整。Serverless應(yīng)用應(yīng)該抽象出調(diào)節(jié)性的配置功能,比如,在日志場景中,可以選擇數(shù)據(jù)分層存儲(chǔ)的數(shù)據(jù)留存時(shí)間、所使用的存儲(chǔ)介質(zhì),或者選擇在可能的數(shù)據(jù)洪峰來臨時(shí),優(yōu)先保證吞吐而是賬單。對(duì)于搜索場景,可以選擇“普通,”“快”,“極快”,“多”,“極多”等條件,來描述對(duì)延遲與并發(fā)的要求,以方便調(diào)節(jié),以便在短期或長期上調(diào)整,獲得更大的緩存層以及更多的副本。與已有的Elasticsearch集群協(xié)同。雖然Elasticsearch Serverless很難與已有的自建或云上托管的Elasticsearch集群100%兼容,但至少在數(shù)據(jù)遷移以及跨集群查詢(CCS)、跨集群復(fù)制(CCR)上能夠?qū)由?,以減少使用上的摩擦。

選擇Elasticsearch Serverless的指導(dǎo)原則

上面,我們列舉了一個(gè)設(shè)計(jì)良好的Elasticsearch serverless應(yīng)該具備的特性。通過了解這些特性,我們能夠更好的從整體上了解及評(píng)估各個(gè)云廠商提供的Elasticsearch serverless。但當(dāng)我們討論如何選擇時(shí),將會(huì)有更多的考慮因素,這里也將進(jìn)行探討選擇的指導(dǎo)原則,而重點(diǎn)會(huì)落在用戶體驗(yàn)上。

image.png

從功能清單上進(jìn)行評(píng)估并測試

在上文提到的Elasticsearch Serverless設(shè)計(jì)考慮因素會(huì)是功能清單的基礎(chǔ)。我們可以在電子表格中列舉所有考慮條件和考慮項(xiàng),并進(jìn)行全面的測試,確保業(yè)務(wù)正常運(yùn)行的同時(shí),也驗(yàn)證Serverless提供的基礎(chǔ)功能是有效的,而非只是宣傳博眼球。根據(jù)測試的結(jié)果,進(jìn)行打分比較,最終打出一個(gè)可以比較的客觀的評(píng)估分?jǐn)?shù)用于選擇。一般流程如下:

創(chuàng)建表枚舉您定義的所有條件確定每個(gè)標(biāo)準(zhǔn)的權(quán)重評(píng)估并測試所有候選Elasticsearch Serverless服務(wù)的每個(gè)標(biāo)準(zhǔn)將您對(duì)該標(biāo)準(zhǔn)的評(píng)估乘以分配的權(quán)重,從而生成每個(gè)廠商的標(biāo)準(zhǔn)分?jǐn)?shù)總結(jié)各個(gè)Elasticsearch Serverless所有標(biāo)準(zhǔn)的分?jǐn)?shù)

當(dāng)然,功能記分卡不會(huì)直接確定最終的選擇。我們還需要考慮功能之外的因素。

選擇適合的Elasticsearch serverless演進(jìn)路線

就目前而言,我們能看到的Elasticsearch serverless有兩種模式,一種是在容器化的基礎(chǔ)上,結(jié)合存算分離,讀寫分離的改造,為用戶提供極致彈性擴(kuò)縮容功能的專有集群。另一種,則主要是在多租戶上發(fā)力,通過控制層面上的改造,實(shí)現(xiàn)單個(gè)大集群內(nèi)的資源邏輯隔離與分配,在大的資源池中動(dòng)態(tài)分配每個(gè)用戶所需的資源,為用戶提供共享的集群。

從廠商的角度來說,最終的serverless形態(tài)會(huì)以多租戶共享集群為主,任何一個(gè)節(jié)點(diǎn)都可以執(zhí)行任意用戶的任務(wù)。但從演進(jìn)的路徑上,選擇會(huì)有不同。有些會(huì)從存算分離、auto scaling開始演進(jìn),有些會(huì)從大集群的資源隔離開始。用戶在選擇之前,可以首先評(píng)估一下不同的方案可能的優(yōu)缺點(diǎn)。

Elasticsearch serverless的可觀測性

Elasticsearch serverless相對(duì)于自建集群和PaaS托管集群會(huì)更復(fù)雜,同時(shí),因?yàn)閷?duì)API進(jìn)行了刪減,向用戶隱藏了物理架構(gòu),日志、指標(biāo)等細(xì)節(jié),會(huì)使得Elasticsearch serverless更像是一個(gè)黑盒產(chǎn)品,其最終的呈現(xiàn)有可能會(huì)超出我們?cè)葘?duì)于Elasticsearch的理解。因此,一個(gè)具備更好可觀測性的Elasticsearch serverless產(chǎn)品會(huì)是更好的選擇。

Elasticsearch serverless異常的可見性

目前大多數(shù)的Elasticsearch serverless都不提供集群的日志和指標(biāo)信息,以至于我們無法在服務(wù)器端及時(shí)發(fā)現(xiàn)可能的錯(cuò)誤和異常。因此需要進(jìn)行比較詳細(xì)的測試和POC。在測試中,我們需要驗(yàn)證每一個(gè)API的功能,特別是對(duì)接口的在過壓情況下的反應(yīng),是否出現(xiàn)了服務(wù)響應(yīng)錯(cuò)誤,響應(yīng)過慢,無響應(yīng)。一個(gè)好的serverless服務(wù),會(huì)在控制臺(tái)上提供主動(dòng)的異常告知,同時(shí),在客戶端,會(huì)返回表述清楚的錯(cuò)誤狀態(tài)碼和解釋。

Elasticsearch serverless的文檔

相對(duì)于可以看到源碼,自己完全掌控部署和管理的自建及云上Elasticsearch集群,Elasticsearch Serverless更加需要詳盡的文檔。特別是考慮到前面提到的可觀測性的問題,測試中異常不可見的問題,越是詳盡文檔,越能幫助我們快速的解決問題。特別是serverless服務(wù)應(yīng)該是一項(xiàng)自助式的服務(wù)?!白灾健贝碇覀兛梢詻]有供應(yīng)商參與的情況下自己構(gòu)建所需的服務(wù)。一方面,這依賴于產(chǎn)品在易用性上的設(shè)計(jì),另一方面,則是依賴產(chǎn)品的文檔,通過文檔的指引,或構(gòu)建服務(wù)或解決問題。

僅目前來看,大多數(shù)的Elasticsearch serverless的文檔都差強(qiáng)人意,但用戶還是可以自己判斷哪家的文檔寫得有誠意的。

總結(jié)

大多數(shù)Serverless用戶,在初始選擇Serverless的時(shí)候都是非常謹(jǐn)慎的。通常用戶會(huì)從較小規(guī)模開始,然后不斷增長。通過在這個(gè)評(píng)估的初始階段提供出色的體驗(yàn),好的Elasticsearch serverless將留住更多的這些用戶,并促使他們更多的與服務(wù)一起成長。

因此,Elasticsearch serverless成功的關(guān)鍵將不是比拼誰推出得早,而是一場用戶體驗(yàn)的比拼。誰提供的Serverless服務(wù)更加人性,更加經(jīng)濟(jì),更加彈性,更容易運(yùn)維,更能滿足用戶的需求,誰就將在這個(gè)競爭中獲得優(yōu)勢(shì)。

標(biāo)簽: Serverless 騰訊云測試服務(wù) ElasticsearchService 搜索引擎

推薦文章

X 關(guān)閉

X 關(guān)閉