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

來(lái)源: TencentServerless
作者:Alfred
時(shí)間:2020-12-31
17452
近期,騰訊云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)營(yíng)活動(dòng)等大并發(fā)的情況,開(kāi)發(fā)者就需要通過(guò)提工單聯(lián)系平臺(tái)方,申請(qǐng)?zhí)嵘瘮?shù)并發(fā)額度。這樣可能導(dǎo)致:

1.每遇到一次大并發(fā),就需要聯(lián)系一次平臺(tái)方來(lá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)整放開(kāi)給了出來(lái),用戶可以自行來(lái)控制并發(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ā);在這種情況下,用戶無(wú)需去尋找平臺(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)生沖突。

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

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

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

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

640 (1).png

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

640 (2).png

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

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

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

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

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

640 (3).png

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

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

640 (4).png

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

同時(shí),預(yù)置的配額也不是實(shí)例并發(fā)的上限,在業(yè)務(wù)量上漲到超過(guò)已經(jīng)預(yù)置的實(shí)例可以承載的時(shí)候,函數(shù)平臺(tái)仍然會(huì)根據(jù)函數(shù)的保留配額或者是賬號(hào)的配額,拉起更多的實(shí)例來(lái)支持業(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ù)特性來(lái)進(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ù)重要性、是否接受一定損失來(lái)說(shuō),又有不同的區(qū)分:前端業(yè)務(wù)保障用戶體驗(yàn),要求加載速度快,但是可以有一定的錯(cuò)誤容忍度;數(shù)據(jù)處理的要求高,不能接收延遲、波動(dòng)或失?。欢〞r(shí)運(yùn)維任務(wù)偶爾運(yùn)行,不用投入過(guò)多的關(guān)注,運(yùn)行正常即可;而視頻處理業(yè)務(wù),可以接受按需調(diào)度,失敗時(shí)能自動(dòng)重試就行。

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

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

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

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

·針對(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í),為了避免有重大損失,可以通過(guò)設(shè)置保留配額,將額度控制在極小的值上來(lái)避免運(yùn)行失控,甚至可以設(shè)置為0來(lái)關(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),通過(guò)內(nèi)存進(jìn)行額度控制,一方面可以讓我們盡量采用合適的內(nèi)存來(lái)實(shí)現(xiàn)業(yè)務(wù),另外一方面,針對(duì)整體的支出也可以進(jìn)行有效的控制。

640 (9).png

總結(jié)

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