天天看點

專家解讀EdgeRoutine邊緣程式EdgeRoutine——讓計算服務更加靠近你的使用者EdgeRoutine的适用場景EdgeRoutine的核心價值

簡介: 随着雲原生技術的普及,阿裡雲可程式設計CDN能力逐漸增強,已經實作在靠近使用者的邊緣,支援将無狀态的業務邏輯以函數或容器的方式在邊緣完成算力解除安裝,以此提供最短時延的互動響應。同時,基于阿裡雲CDN平台強大的基礎資源能力和高性能架構,可以輕松滿足企業海量的彈性需求。在1月6日的阿裡雲CDN年度産品更新釋出會中,阿裡雲進階産品經理陳章炜對EdgeRoutine進行了詳細解讀。

>>釋出會傳送門:https://yqh.aliyun.com/live/detail/21749

點選檢視詳情:https://yqh.aliyun.com/live/cdn_0106

随着雲原生技術的普及,阿裡雲可程式設計CDN能力逐漸增強,已經實作在靠近使用者的邊緣,支援将無狀态的業務邏輯以函數或容器的方式在邊緣完成算力解除安裝,以此提供最短時延的互動響應。同時,基于阿裡雲CDN平台強大的基礎資源能力和高性能架構,可以輕松滿足企業海量的彈性需求。

阿裡雲CDN具有全球2800+個節點的巨大節點網絡,可以将源站靜态檔案(例如圖檔、視訊)緩存起來,全球各地用戶端就近請求CDN節點即可拿到檔案,相比請求伺服器源站肯定是大大縮短了網絡鍊路降低了延時,同時,還降低了源站壓力,源站不用接收請求,分散到各地的CDN節點處理了。而現在阿裡雲CDN除了緩存和分發,更是具備了就近分發計算的能力,這就是EdgeRoutine。在1月6日的阿裡雲CDN年度産品更新釋出會中,阿裡雲進階産品經理陳章炜對EdgeRoutine進行了詳細解讀。

專家解讀EdgeRoutine邊緣程式EdgeRoutine——讓計算服務更加靠近你的使用者EdgeRoutine的适用場景EdgeRoutine的核心價值

EdgeRoutine——讓計算服務更加靠近你的使用者

EdgeRoutine是一個運作在CDN邊緣節點上的JavaScript代碼運作環境,使用者可以将JS代碼上傳至EdgeRoutine,即可在全球的CDN邊緣節點上運作,相當于使用者在全球各地擁有了大量微型伺服器去就近地服務各地的使用者。

下面詳述下EdgeRoutine的工作原理。首先,打開一個CDN伺服器,其中的請求處理流程是:原來純CDN鍊路對應的1、8、9、4鍊路。用戶端後CDN網關會去找緩存,如果找到會response給用戶端。如果沒有找到,會回源請求,之後存到CDN緩存并傳回給用戶端。

專家解讀EdgeRoutine邊緣程式EdgeRoutine——讓計算服務更加靠近你的使用者EdgeRoutine的适用場景EdgeRoutine的核心價值

這樣的鍊路在有了EdgeRoutine後會有什麼變化呢?主要有這四種情況:

1.ER内JS代碼完成對請求的計算&處理,傳回給用戶端:1→2→3→4

2.ER發出子請求從其他雲服務擷取資料後加工:1→2→5→3→4

3.ER從Cache、KV讀取或存儲計算後的結果用以複用:1→2→6→3→4

4.ER可主動Proxy回CDN回源鍊路: 1→2→7→8→9→10→3→4

EdgeRoutine的适用場景

一、在邊緣圖文頁面渲染

專家解讀EdgeRoutine邊緣程式EdgeRoutine——讓計算服務更加靠近你的使用者EdgeRoutine的适用場景EdgeRoutine的核心價值

左側是兩種比較常見的前端渲染的架構,一種叫CSR,在用戶端去做渲染,一種叫SSR,在伺服器端去做渲染。而這兩種前端渲染了傳統傳統架構的話都有一些缺點。比如像第一種全部在用戶端做渲染,需要由用戶端去發起N個獨立請求,去請求中心大資源就在用戶端去渲染成一個HTML的頁面。這樣的方式是比較考驗用戶端性能,同時因為發起了多個異步的請求,這多個請求的延時可能就不太可控。第二個SSR全部在伺服器端做渲染,用戶端隻要發一次請求就可以了,由伺服器端去拉取相應資源,最後渲染HTML頁面給到用戶端。相對于CSR,SSR的中心伺服器壓力比較大,成本較高,同時在伺服器做渲染的過程當中,用戶端需要做等待,可能會影響使用者體驗。

有了EdgeRoutine,在邊緣圖文頁面渲染,可以将SSR從中心伺服器下沉到了邊緣節點之上,下圖右側,當用戶端發起一個請求,請求就直接在邊緣上實作SSR渲染的過程了,好處是不依靠用戶端性能,同時由于CDN節點全球的廣泛分布,節點壓力比較小,還可以獲得更低的延時,另外也能夠減少重複計算。

二、店鋪小程式,類似Combo

下圖左側傳統的架構中,當用戶端請求過來,伺服器上會根據這個請求去把通用的官方模闆以及對應使用者的個性化三方模闆進行一個Combo,Combo成一個店鋪小程式的整體架構,最後傳回給用戶端。其實和SSR類似的是用戶端需要等待伺服器端的這樣過程,會影響使用者體驗。右側新方案中,EdgeRoutine将Combo的邏輯放到邊緣節點上面去進行,通用的官方模闆可以直接緩存在CDN裡面,以此減少回源站請求的耗時,通知部分請求可以直接複用Combo的結果,減少重複的Combo計算,進一步降低延時。

專家解讀EdgeRoutine邊緣程式EdgeRoutine——讓計算服務更加靠近你的使用者EdgeRoutine的适用場景EdgeRoutine的核心價值

三、源站健康狀态檢查

當使用者有多個伺服器源站時,就需要一套作業系統來實時、持續監測全球各地來通路源站的可用性。EdgeRoutine直接運作在CDN上,是以EdgeRoutine天然是部署探針服務的一個載體,探針代碼在下圖右側中,直接部署在EdgeRoutine上,實時通路源站的情況,并且收集健康資訊并回傳,以此達到模拟使用者并實施的監測伺服器可用性的目的。

專家解讀EdgeRoutine邊緣程式EdgeRoutine——讓計算服務更加靠近你的使用者EdgeRoutine的适用場景EdgeRoutine的核心價值

除此之外,EdgeRoutine可以适用于A/Btest、IoT場景資料清洗、GEO打點,甚至托管個人站點等各類場景,既具備CDN的彈性排程、低成本、低延時特性,同時兼具Serverless簡單易用的特性,具有非常大的想象和應用空間。

EdgeRoutine的核心價值

總體來說,EdgeRoutine具備CDN的彈性排程、低成本、低延時的特性,同時也兼顧Serverless簡單易用的特性。

一、彈性排程

部署在EdgeRoutine的JS代碼将運作在遍布全球各地的CDN節點上。使用者的請求将就近通路CDN節點。當某個區域使用者請求突增,CDN系統會将請求排程至周邊節點,自動彈性擴容,使用者無需為每一次可能的業務突增而擔心計算資源不夠的問題。比如下圖左側的示例,當杭州使用者發起請求,就近排程至杭州的CDN節點;當杭州使用者的請求突增,排程自動将請求分散排程至杭州周邊的嘉興湖州等區域的CDN節點;而杭州使用者的請求進一步突增,排程自動将請求分散排程至更遠的無錫上海等區域的CDN節點。阿裡雲CDN有2800+節點遍布全球,形成一張巨大的排程網絡,自動彈性排程。

二、低成本

我們看一下計算的發展史,其實從某種次元來看的話,是對資源的隔離和複用的一個發展史。最早的實體機,到一台實體機被隔離成N台的虛拟機,再到雲計算及容器化技術,虛拟機上又可以隔離出N個不同運作環境,整個過程中,使用者隔離不斷細化,機關硬體裝置能夠做到更高複用,将資源複用做到極緻,給使用者帶來成本效益更高的按量付費服務。這也是EdgeRoutine能為大家帶來更低成本的價值的原因。

三、易用(Serverless特性)

傳統的應用搭建的流程,使用者需要去購買伺服器,還需要去運維上面的系統,然後才進行整個開發應用的部署,持續去優化服務性能,需要非常龐大的團隊協同。Serverless意味着使用者不需要再去關注底層的基礎設施,隻需要關注核心的業務代碼,上傳你的代碼就完成了整個部署。後端的這些資源是完全自動、彈性伸縮的,可以幫助使用者原來縮減運維成本。基于EdgeRoutine的應用建構方式也是如此,隻需要在第一次使用時候進行簡單的安裝配置,即可專注開發業務代碼,直接上傳部署即可。

專家解讀EdgeRoutine邊緣程式EdgeRoutine——讓計算服務更加靠近你的使用者EdgeRoutine的适用場景EdgeRoutine的核心價值

四、超低延時

在邊緣上直接去處理用戶端的請求,跟在中心處理,肯定是會大幅縮短網絡鍊路,這樣減少了網絡傳輸的延時風險。同時,EdgeRoutine采用Chromium V8輕量隔離技術,冷啟動時間幾乎可忽略。

原文連結:

https://developer.aliyun.com/article/781183?

版權聲明: 本文内容由阿裡雲實名注冊使用者自發貢獻,版權歸原作者所有,阿裡雲開發者社群不擁有其著作權,亦不承擔相應法律責任。具體規則請檢視《阿裡雲開發者社群使用者服務協定》和《阿裡雲開發者社群知識産權保護指引》。如果您發現本社群中有涉嫌抄襲的内容,填寫侵權投訴表單進行舉報,一經查實,本社群将立刻删除涉嫌侵權内容。

繼續閱讀