乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      函數(shù)計算: 讓小程序開發(fā)進入 Serverless 時代

       頭號碼甲 2020-02-28

      作者 | 吳天龍(木吳)阿里云函數(shù)計算技術(shù)專家

      導讀:小程序是輕量級的快速迭代的移動應(yīng)用,對開發(fā)者從開發(fā)到上線的效率提出了更高的要求。使用函數(shù)計算,開發(fā)者無需關(guān)心后端服務(wù)的搭建運維,只需要編寫函數(shù)就能夠為小程序提供穩(wěn)定可靠并且彈性伸縮的服務(wù)。并且隨著小程序訪問量增加,函數(shù)計算能夠自動快速地彈性伸縮,即使應(yīng)對 雙11 活動高峰也能夠如絲般順滑。

      自 2017 年第一批小程序上線以來,越來越多的移動端應(yīng)用以小程序的形式呈現(xiàn)。小程序擁有觸手可及、用完即走的優(yōu)點,這大大降低了用戶的使用負擔,使小程序得到了廣泛的傳播。在阿里巴巴,小程序也被廣泛地應(yīng)用在淘寶/支付寶/釘釘/高德等平臺上,例如今年 雙11,大家在淘寶/天貓上參加的活動,大部分都是通過小程序提供的。

      一個小程序可以分為客戶端和服務(wù)端:客戶端包括界面的展示和交互邏輯;服務(wù)端則包括數(shù)據(jù)的處理和分析。

      為了支撐大量的小程序,平臺在服務(wù)端面臨的挑戰(zhàn)有:

      • 大量的小程序是不活躍的,傳統(tǒng)的至少一臺服務(wù)器的方式會造成資源浪費;

      • 在活動高峰期小程序的調(diào)用量激增,要求服務(wù)端能夠快速進行彈性伸縮。

      針對小程序場景,阿里云提供了完整的小程序解決方案:小程序云。資源的有效利用和彈性伸縮,是小程序云提供的核心能力之一,而這背后依托的,就是阿里云函數(shù)計算服務(wù)。函數(shù)計算是一個全托管 Serverless 計算服務(wù),讓開發(fā)者無需管理服務(wù)器等基礎(chǔ)設(shè)施,只需編寫和上傳代碼,就能夠構(gòu)建可靠、彈性、安全的服務(wù)。下面就以 雙11 小程序場景為例,解析函數(shù)計算在彈性伸縮上的核心技術(shù)。

      小程序架構(gòu)

      讓我們先來看一下淘寶小程序的技術(shù)架構(gòu)是什么樣的:

      1.png

      • 用戶在手機淘寶點擊店鋪活動,就進入了小程序。界面及交互由小程序客戶端提供;

      • 在用戶參與活動過程中,需要向服務(wù)端請求或者發(fā)送數(shù)據(jù)時,由客戶端發(fā)起函數(shù)調(diào)用;

      • 函數(shù)調(diào)用先經(jīng)過淘寶接入網(wǎng)關(guān),進行必要的鑒權(quán)認證,然后調(diào)用到小程序云;

      • 用戶的函數(shù)代碼執(zhí)行在小程序云中,用戶可以實現(xiàn)自定義的業(yè)務(wù)邏輯。

      利用小程序云提供的豐富的擴展能力,用戶可以方便地構(gòu)建完整的電商應(yīng)用:

      • 數(shù)據(jù)存儲:存儲結(jié)構(gòu)化的數(shù)據(jù);

      • 文件存儲:存儲文本/圖片/視頻等文件;

      • 電商服務(wù):獲取用戶信息/創(chuàng)建支付交易;

      • 統(tǒng)計分析:自動統(tǒng)計小程序的使用信息及用戶分析,支撐商業(yè)決策。

      可以看到,函數(shù)是整個小程序的業(yè)務(wù)邏輯的核心,它將云端的基礎(chǔ)能力組合串聯(lián)起來,對客戶端提供服務(wù)能力。如果函數(shù)能力成為瓶頸,將影響整個小程序的運行。

      在這樣的架構(gòu)下,要支撐大量的小程序,需要函數(shù)能夠做到:

      • 一是隨時在線以支持小程序即開即用;

      • 二是彈性伸縮以應(yīng)對小程序訪問突增。為了做到以上兩點,讓我們看一下函數(shù)計算的技術(shù)架構(gòu):

      函數(shù)計算架構(gòu)

      2.png

      其中幾個核心組件的功能如下:

      • API 服務(wù):函數(shù)計算的網(wǎng)關(guān),實現(xiàn)鑒權(quán)/流控等功能;

      • 資源調(diào)度:為函數(shù)調(diào)用分配管理計算資源,負責調(diào)度效率和性能;

      • 函數(shù)執(zhí)行引擎:執(zhí)行函數(shù)代碼的環(huán)境,做到安全和隔離。

      基于這個架構(gòu),函數(shù)計算是如何解決上面提到的小程序平臺的挑戰(zhàn)呢?接下來我們逐一分析。

      1. 冷啟動

      當用戶創(chuàng)建函數(shù)上傳代碼時,函數(shù)計算只是將代碼包保存到 OSS,并沒有分配計算資源,因此函數(shù)計算可以支撐海量的小程序。

      當函數(shù)第一次被調(diào)用時,函數(shù)計算會分配計算資源、下載函數(shù)代碼、加載并執(zhí)行代碼。這一過程稱為冷啟動,函數(shù)計算通過大量的優(yōu)化,將系統(tǒng)側(cè)的冷啟動時間優(yōu)化到 200ms 以內(nèi)。因此即使是冷的小程序,在初次調(diào)用時也能夠做到快速的即開即用。

      3.png

      2. 彈性伸縮

      當小程序持續(xù)調(diào)用過程中,負載逐漸上升或者突然升高的情況下,函數(shù)計算是如何應(yīng)對的呢?

      函數(shù)計算的“資源調(diào)度”模塊,會精確管理每個實例的狀態(tài),當請求到來時,它首先檢查是否有空閑的實例可以服務(wù),如果沒有請求就會進入等待隊列,當有空閑的實例釋放出來時,請求就能夠被及時處理。

      同時,調(diào)度器還會在后臺創(chuàng)建新的實例,當新的實例準備好后,也能夠服務(wù)請求。在這種策略下,能夠做到在負載以 2 倍的速度增長情況下,請求的 P95 延時是穩(wěn)定的。優(yōu)化細節(jié)可以參考我們的博客文章。

      4.png

      上面是某個淘寶小程序的調(diào)用量和延時監(jiān)控數(shù)據(jù)。

      可以看到,在整點活動時,TPS 出現(xiàn)了瞬間的高峰,但是 P95 延時卻沒有明顯的波動。這是因為函數(shù)計算在請求高峰來臨時,能夠快速地彈性伸縮創(chuàng)建新的實例,同時利用已有資源做一定的緩沖,使得整個攀升的過程能夠比較平滑。

      3. 預留實例

      對于一些“秒殺”的場景,要求瞬間提供大量的計算資源。此時靠實時的彈性伸縮是不夠的:

      • 一是冷啟動的時間即使是 200ms,對于秒殺場景也太慢了;

      • 二是底層的計算資源在擴容時也會有流控。

      針對這種場景,函數(shù)計算提供了預留實例的功能。使用預留實例,用戶可以為一些可預測的活動提前預留好資源,徹底消除冷啟動。

      5.png

      和傳統(tǒng)的基于服務(wù)器的做法不同,用戶不需要按峰值來預留資源,而是可以結(jié)合預留實例和按量實例的混合模式:請求先被預留實例處理,當預留實例用滿時,會自動彈性伸縮出更多的按量實例來處理請求。

      由于有一定的資源基礎(chǔ),結(jié)合調(diào)度優(yōu)化,按量實例的冷啟動所產(chǎn)生的影響就被大大減小了。這就是利用函數(shù)計算的彈性伸縮能力,在性能和成本之間達到很好的平衡。

      總結(jié)

      小程序是輕量級的快速迭代的移動應(yīng)用,對小程序開發(fā)者的開發(fā)效率有很高的要求。

      小程序上線后隨著訪問量的增加或者活動期間的訪問突增,對后端服務(wù)的穩(wěn)定和彈性也是一個很大的考驗。函數(shù)計算上傳代碼即可運行,極大地提高了后端服務(wù)的開發(fā)效率;混合模式的彈性伸縮,輕松應(yīng)對負載變化。這些特點使得函數(shù)計算成為支撐小程序平臺的很好的選擇。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多