騰訊云Serverless云函數(shù)并發(fā)管理能力解讀

來源: TencentServerless
作者:Alfred
時(shí)間:2020-12-31
17451
近期,騰訊云Serverless云函數(shù)發(fā)布了并發(fā)管理能力升級(jí)版,提供了3個(gè)維度的并發(fā)額度管理的功能。該功能究竟提供了哪些能力,有哪些使用場(chǎng)景?本文將為您全方位解讀并發(fā)管理功能,并對(duì)多種使用場(chǎng)景提供配置建議。

近期,騰訊云Serverless云函數(shù)發(fā)布了并發(fā)管理能力升級(jí)版,提供了3個(gè)維度的并發(fā)額度管理的功能。該功能究竟提供了哪些能力,有哪些使用場(chǎng)景?本文將為您全方位解讀并發(fā)管理功能,并對(duì)多種使用場(chǎng)景提供配置建議。

背景介紹

原先,創(chuàng)建一個(gè)函數(shù),默認(rèn)具有300的并發(fā)數(shù)量上限。針對(duì)小的低頻業(yè)務(wù),300的并發(fā)值足夠使用。但是遇到業(yè)務(wù)量上漲、支撐大型運(yùn)營活動(dòng)等大并發(fā)的情況,開發(fā)者就需要通過提工單聯(lián)系平臺(tái)方,申請(qǐng)?zhí)嵘瘮?shù)并發(fā)額度。這樣可能導(dǎo)致:

1.每遇到一次大并發(fā),就需要聯(lián)系一次平臺(tái)方來提升配額,時(shí)效性弱。

2.申請(qǐng)等待周期時(shí)會(huì)導(dǎo)致上漲的業(yè)務(wù)部分有損。

3.在評(píng)估量級(jí)時(shí),也可能出現(xiàn)評(píng)估不足,導(dǎo)致需要再次申請(qǐng),低效。

并發(fā)能力升級(jí)

相對(duì)于原有的函數(shù)默認(rèn)固定的并發(fā)值,本次上線的并發(fā)管理能力,有以下方面的優(yōu)化:

1.將單一函數(shù)的并發(fā)調(diào)整放開給了出來,用戶可以自行來控制并發(fā)數(shù)。

2.并發(fā)額度由單一的函數(shù)維度,移到了賬號(hào)維度。

3.賬號(hào)下默認(rèn)具有一定的并發(fā)額度,由賬號(hào)下的函數(shù)所共享的,不需要單獨(dú)為其中一個(gè)大并發(fā)的函數(shù)申請(qǐng)額度。

因此,在當(dāng)前的模式下,默認(rèn)賬號(hào)具有的128000 MB的額度,可以供128 MB配置內(nèi)存函數(shù)啟動(dòng)運(yùn)行1000個(gè)并發(fā);在這種情況下,用戶無需去尋找平臺(tái)申請(qǐng),就可以獲得比調(diào)整前更高的一個(gè)并發(fā)額度,用于支撐上漲的業(yè)務(wù)。

640.png

并發(fā)的處理

由于賬號(hào)級(jí)別的額度是在賬號(hào)下的多個(gè)函數(shù)間共享的,在多個(gè)函數(shù)同時(shí)運(yùn)行的情況下,因?yàn)榱髁客辉?、業(yè)務(wù)上漲導(dǎo)致并發(fā)增高的函數(shù)在占用完全部空閑額度后,可能會(huì)和平穩(wěn)運(yùn)行的函數(shù)之間產(chǎn)生沖突。

這種情況下,有兩種解決方案:

一方面可以通過平臺(tái)申請(qǐng)?zhí)嵘叩馁~號(hào)額度,來滿足上漲業(yè)務(wù)帶來的并發(fā)上漲;

另外一方面,也可以通過將部分額度分配給具體函數(shù),來保障具體函數(shù)的運(yùn)行可靠性。

下面我將具體說一下第二種方式。舉個(gè)例子,在同樣的賬號(hào)下,函數(shù)A提供H5頁面用于秒殺的運(yùn)營活動(dòng),函數(shù)B在進(jìn)行后臺(tái)的流式數(shù)據(jù)處理。在B函數(shù)啟動(dòng)了300并發(fā)進(jìn)行業(yè)務(wù)處理時(shí),運(yùn)營活動(dòng)會(huì)受限于A函數(shù),最大僅能跑到700并發(fā);而函數(shù)A的業(yè)務(wù)壓力下,如果B函數(shù)也有業(yè)務(wù)量上漲,將無配額可用導(dǎo)致無法啟動(dòng)更多實(shí)例。

640 (1).png

在上面的例子中,如果要保證B函數(shù)數(shù)據(jù)處理流程的可靠性,可以為這個(gè)函數(shù)設(shè)置到350的保留并發(fā)配額;此時(shí),這個(gè)額度將從賬號(hào)維度劃給這個(gè)函數(shù)單獨(dú)使用,而運(yùn)營活動(dòng)所使用的A函數(shù)將僅僅可以最大使用的650并發(fā)的額度。函數(shù)B在設(shè)置到350的保留并發(fā)額度后,在業(yè)務(wù)持續(xù)上升后,最大也僅僅可以使用到配置的這個(gè)額度,此時(shí),就算是賬號(hào)維度的額度仍然有剩余時(shí),B函數(shù)也無法去使用。

640 (2).png

通過保留額度的設(shè)置,一方面,我們可以對(duì)函數(shù)的運(yùn)行進(jìn)行保障,避免多個(gè)函數(shù)共享額度時(shí),由于其他業(yè)務(wù)的函數(shù)占用導(dǎo)致本函數(shù)無法運(yùn)行產(chǎn)生損失,另外一方面,保留配額也定義了函數(shù)的運(yùn)行額度上限。

因此,針對(duì)函數(shù)的并發(fā)管理控制,可以基于業(yè)務(wù)來進(jìn)行更精細(xì)的控制,有以下三點(diǎn)建議:

1.針對(duì)開發(fā)測(cè)試階段的函數(shù),由于請(qǐng)求量小,無業(yè)務(wù)壓力,并發(fā)也極少,可以不配置保留額度而僅僅使用賬號(hào)維度的共享額度;

2.針對(duì)穩(wěn)定運(yùn)行的函數(shù),并發(fā)通常是確定的,浮動(dòng)范圍也不會(huì)很大,這個(gè)時(shí)候可以給這個(gè)函數(shù)設(shè)置稍微有一點(diǎn)余量的保留額度,來保障函數(shù)的額度不受共享的影響;

3.針對(duì)運(yùn)營活動(dòng)、有可能性突增并發(fā)的函數(shù),可以利用賬號(hào)維度的高額度,來充分利用和支撐業(yè)務(wù)爆發(fā)。

640 (3).png

當(dāng)前預(yù)置額度的設(shè)置,是設(shè)置在函數(shù)的版本上,也是從賬號(hào)維度的并發(fā)配額或函數(shù)上的保留額度中扣減下來的。

通過設(shè)置預(yù)置額度可以預(yù)想啟動(dòng)所需量的并發(fā)實(shí)例,完成實(shí)例的初始化并等待事件的到來。針對(duì)函數(shù)的請(qǐng)求將不會(huì)有冷啟動(dòng)時(shí)間,直接就可以在已經(jīng)完成準(zhǔn)備、初始化完成的實(shí)例中得到運(yùn)行。

640 (4).png

在時(shí)延敏感的業(yè)務(wù),例如前端的SSR頁面響應(yīng);或者是初始化時(shí)間較長(zhǎng)的業(yè)務(wù),例如AI推理的模型加載過程;這些場(chǎng)景下,通過給函數(shù)設(shè)置上一定的預(yù)置可以保障業(yè)務(wù)更好的運(yùn)行。

同時(shí),預(yù)置的配額也不是實(shí)例并發(fā)的上限,在業(yè)務(wù)量上漲到超過已經(jīng)預(yù)置的實(shí)例可以承載的時(shí)候,函數(shù)平臺(tái)仍然會(huì)根據(jù)函數(shù)的保留配額或者是賬號(hào)的配額,拉起更多的實(shí)例來支持業(yè)務(wù)運(yùn)行。

并發(fā)使用場(chǎng)景設(shè)置建議

一個(gè)賬號(hào)下有多個(gè)業(yè)務(wù)都在同時(shí)使用云函數(shù)進(jìn)行支撐時(shí),函數(shù)的并發(fā)配額就需要進(jìn)行按需調(diào)度。根據(jù)不同的業(yè)務(wù)特性來進(jìn)行合理合適的設(shè)置。

例如有波峰波谷的前端業(yè)務(wù),有平穩(wěn)運(yùn)行波動(dòng)不大的數(shù)據(jù)處理業(yè)務(wù),有偶爾才運(yùn)行一次的定時(shí)運(yùn)維任務(wù),也有并發(fā)不大但是計(jì)算量重、計(jì)算時(shí)間長(zhǎng)的視頻處理業(yè)務(wù);

在這些業(yè)務(wù)中,根據(jù)重要性、是否接受一定損失來說,又有不同的區(qū)分:前端業(yè)務(wù)保障用戶體驗(yàn),要求加載速度快,但是可以有一定的錯(cuò)誤容忍度;數(shù)據(jù)處理的要求高,不能接收延遲、波動(dòng)或失??;定時(shí)運(yùn)維任務(wù)偶爾運(yùn)行,不用投入過多的關(guān)注,運(yùn)行正常即可;而視頻處理業(yè)務(wù),可以接受按需調(diào)度,失敗時(shí)能自動(dòng)重試就行。

根據(jù)不同的業(yè)務(wù)特性、容錯(cuò)額度、業(yè)務(wù)波動(dòng)情況、時(shí)延要求,我們就可以按照不同的情況來進(jìn)行不同的設(shè)置。上述幾項(xiàng)業(yè)務(wù)中,并發(fā)設(shè)置有以下幾點(diǎn)建議:

·對(duì)前端業(yè)務(wù)來說,要求加載速度快,但是有波峰波谷,這種情況我們就可以為函數(shù)配置一定量的預(yù)置額度,例如按最大使用量的60%來設(shè)置,但是同時(shí)不設(shè)置函數(shù)的保留額度,確保在高峰到來時(shí)能充分利用總配額;

·針對(duì)數(shù)據(jù)處理業(yè)務(wù),波動(dòng)不大但是容錯(cuò)低,我們可以為函數(shù)配置一定量的保留額度,確保不會(huì)有其他業(yè)務(wù)使用的共享額度導(dǎo)致數(shù)據(jù)處理業(yè)務(wù)的問題;

·運(yùn)維任務(wù)定時(shí)運(yùn)行,沒有高要求,可以不做任何配置,使用賬號(hào)維度的配額來處理就行;

·針對(duì)視頻處理業(yè)務(wù),計(jì)算量大,而且可以按需排隊(duì)處理任務(wù),我們?cè)O(shè)定好一定的保留額度,讓業(yè)務(wù)跑滿并發(fā)額度,充分利用好且控制好計(jì)算資源。

640 (5).png

640 (6).png

640 (7).png

保留配額另一種用法

保留配額還有另外一種用法——對(duì)業(yè)務(wù)的限制或關(guān)停。在有緊急事項(xiàng)發(fā)生,例如漏洞攻擊、循環(huán)調(diào)用失控等情況出現(xiàn)時(shí),為了避免有重大損失,可以通過設(shè)置保留配額,將額度控制在極小的值上來避免運(yùn)行失控,甚至可以設(shè)置為0來關(guān)閉函數(shù)的運(yùn)行。

640 (8).png

內(nèi)存和并發(fā)額度的關(guān)系

當(dāng)前額度按內(nèi)存進(jìn)行計(jì)算,配置內(nèi)存大的函數(shù),并發(fā)運(yùn)行時(shí)占用的額度多,而配置內(nèi)存小的函數(shù)在多并發(fā)運(yùn)行時(shí)占用的額度??;

由于函數(shù)服務(wù)的資源用量計(jì)費(fèi)項(xiàng)和函數(shù)的配置內(nèi)存強(qiáng)相關(guān),通過內(nèi)存進(jìn)行額度控制,一方面可以讓我們盡量采用合適的內(nèi)存來實(shí)現(xiàn)業(yè)務(wù),另外一方面,針對(duì)整體的支出也可以進(jìn)行有效的控制。

640 (9).png

總結(jié)

通過提供多層次的并發(fā)配額管理能力,目前我們可以獲得更強(qiáng)的函數(shù)并發(fā)管理控制的權(quán)限,無需再等待平臺(tái)方的調(diào)整就可以自行根據(jù)業(yè)務(wù)需求快速調(diào)整。

目前并發(fā)管理功能已經(jīng)上線,函數(shù)可以配置保留并發(fā),同時(shí)預(yù)置并發(fā)功能也處于內(nèi)測(cè)階段,歡迎大家申請(qǐng)?jiān)囉谩?/span>

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于TencentServerless,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
騰訊云數(shù)據(jù)庫PostgreSQL全面支持PG 17
騰訊云數(shù)據(jù)庫PostgreSQL全面支持PG 17
即日起,騰訊云PostgreSQL全面支持PostgreSQL 17.0。所有用戶可使用大版本升級(jí)能力升級(jí)至最新的PostgreSQL 17.0進(jìn)行體驗(yàn),也可以在產(chǎn)品購買頁直接購買。
騰訊云
云服務(wù)
2024-12-152024-12-15
高可用這個(gè)問題,加機(jī)器就能解決?
高可用這個(gè)問題,加機(jī)器就能解決?
互聯(lián)網(wǎng)服務(wù)的可用性問題是困擾企業(yè)IT人員的達(dá)摩克利斯之劍:防于未然,體現(xiàn)不出價(jià)值。已然發(fā)生,又面臨P0危機(jī)。就更別提穩(wěn)定性建設(shè)背后顯性的IT預(yù)算問題與隱性的人員成本問題。
騰訊云
云服務(wù)
2024-11-252024-11-25
TDSQL TDStore引擎版替換HBase:在歷史庫場(chǎng)景中的成本與性能優(yōu)勢(shì)
TDSQL TDStore引擎版替換HBase:在歷史庫場(chǎng)景中的成本與性能優(yōu)勢(shì)
HBase憑借其高可用性、高擴(kuò)展性和強(qiáng)一致性,以及在廉價(jià)PC服務(wù)器上的低部署成本,廣泛應(yīng)用于大規(guī)模數(shù)據(jù)分析。
騰訊云
云服務(wù)
2024-11-042024-11-04
復(fù)雜查詢性能弱,只讀分析引擎來幫忙
復(fù)雜查詢性能弱,只讀分析引擎來幫忙
隨著當(dāng)今業(yè)務(wù)的高速發(fā)展,復(fù)雜多表關(guān)聯(lián)的場(chǎng)景越來越普遍。但基于行式存儲(chǔ)的數(shù)據(jù)庫在進(jìn)行復(fù)雜查詢時(shí)性能相對(duì)較弱。
騰訊云
云服務(wù)
2024-11-022024-11-02
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家