Cloudflare Workers Sites:直接在我們的網(wǎng)絡(luò)上部署您的網(wǎng)站

來源: Cloudflare
作者:Cloudflare
時間:2020-12-09
18114
網(wǎng)絡(luò)性能一直是一場與光速的戰(zhàn)斗——從倫敦訪問一個從西雅圖提供服務(wù)的網(wǎng)站,意味著每一個資源請求都要經(jīng)過7000多英里。web性能之爭的第一個突破是HTTP1.1連接保持在線和瀏覽器打開多個連接。下一個突破是CDN,通過將靜態(tài)資源緩存到離終端用戶更近的數(shù)據(jù)中心,使它們更靠近終端用戶。今天,有了Workers Sites,我們可以很興奮地宣布下一個重大突破——將整個網(wǎng)站直接分布在互聯(lián)網(wǎng)的邊緣。

ia_6500000004.png

網(wǎng)絡(luò)性能一直是一場與光速的戰(zhàn)斗——從倫敦訪問一個從西雅圖提供服務(wù)的網(wǎng)站,意味著每一個資源請求都要經(jīng)過7000多英里。web性能之爭的第一個突破是HTTP/1.1連接保持在線和瀏覽器打開多個連接。下一個突破是CDN,通過將靜態(tài)資源緩存到離終端用戶更近的數(shù)據(jù)中心,使它們更靠近終端用戶。今天,有了Workers Sites,我們可以很興奮地宣布下一個重大突破——將整個網(wǎng)站直接分布在互聯(lián)網(wǎng)的邊緣。

部署到網(wǎng)絡(luò)邊緣

為什么僅緩存資源還不夠?是的,緩存提高了性能,但是顯著的性能提升也伴隨著一系列令人頭痛的問題。CDN可以猜測應(yīng)該緩存哪些資源,但這只是猜測。配置站點以獲得最佳性能一直是一個容易出錯的過程,需要大量深奧的規(guī)則和請求頭。即使在完美配置的情況下,幾乎也沒有什么東西是永久緩存的,寶貴的請求仍然常常需要一直傳送到您的原始地址(無論它在哪里)。畢竟,緩存失效是計算機科學(xué)中最困難的問題之一。

這就引出了一個問題:與其笨拙地將字節(jié)從原點移動到邊緣,為什么不將整個原點推到邊緣呢?

Workers Sites:擴展Workers平臺

兩年前的生日周,我們發(fā)布了Cloudflare Workers,這是一種讓開發(fā)者在全球194個城市的網(wǎng)絡(luò)上編寫和運行JavaScript和WebAssembly的方法。一年后,我們發(fā)布了Workers KV,這是我們的分布式鍵值存儲,它讓開發(fā)者能夠在這些城市的邊緣存儲狀態(tài)。

Workers Sites利用Workers和Workers KV的功能,允許開發(fā)者直接將他們的網(wǎng)站上傳到邊緣,并更接近最終用戶。我們認(rèn)為web上的現(xiàn)代開發(fā)應(yīng)該是這樣的:天然安全、快速、可大規(guī)模擴展。您花在配置上的時間越少,則花在代碼和內(nèi)容本身上的時間就越多。

它如何運作

Workers Sites使用一些終端命令進行部署,可以為任何靜態(tài)站點生成器(如Hugo、Gatsby或Jekyll)生成的站點提供服務(wù)。使用Wrangler(我們的命令行界面),您可以將網(wǎng)站的資源直接上傳到KV。當(dāng)請求到達您的Workers站點時,Wrangler生成的Cloudflare Worker將從KV中讀取并提供相應(yīng)的請求頭信息(無需擔(dān)心Content-Type和Cache-Control;我們幫你搞定了)。

你的網(wǎng)站需要變得不那么靜態(tài),你的Worker就只是代碼,編輯和擴展它,直到你有一個運行在世界各地的動態(tài)網(wǎng)站。

入門

要開始使用Workers網(wǎng)站,您首先需要注冊Workers。選擇好worker.dev子域后,選擇“無限制Workers計劃”(每月5美元起),以獲得訪問Workers KV和部署Workers站點的能力。

在注冊無限制Workers計劃后,你需要為Workers安裝CLI(命令行界面)——Wrangler,Wrangler可以通過NPM或Cargo安裝:

#NPM Installation

npm i cloudflare/wrangler-g

#Cargo Installation

cargo install wrangler

安裝Wrangler后,你就可以通過以下步驟準(zhǔn)備部署靜態(tài)站點:

在包含您靜態(tài)站點構(gòu)建資產(chǎn)的目錄中運行wrangler init--site

填寫新創(chuàng)建的帶有您的帳戶和項目詳情的wrangler.toml文件

使用wrangler publish發(fā)布您的網(wǎng)站

你也可以查看我們的Workers Sites參考文檔,或者在文檔中閱讀關(guān)于create-react-app的完整教程。

令人矚目的快:從亞特蘭大到薩格勒布

除了改善開發(fā)人員的體驗外,我們還在幕后做了大量工作,以確保部署和站點本身的速度都非常快——我們很高興能在我們的技術(shù)博客文章中與您分享如何做到這一點。

為了測試Workers Sites的性能,我們使用了一個個人站點并部署它來運行一些基準(zhǔn)測試。該測試是針對我們的網(wǎng)站的,但您的結(jié)果可能會有所不同。

一個常用的衡量你的網(wǎng)站性能的方法是使用Google Lighthouse,您可以直接在Chrome瀏覽器的“審核”選項中進行此操作。

ia_6500000005.png

所以我們以優(yōu)異的成績通過了第一次測試——100分!然而,在您自己的計算機上運行基準(zhǔn)測試會引入一個偏差:您的用戶不一定在您所在的位置。事實上,你的用戶離你越來越遠(yuǎn)。

在哪里進行基準(zhǔn)測試也很重要:從不同位置運行測試將產(chǎn)生不同的結(jié)果。西雅圖的基準(zhǔn)測試和西海岸的服務(wù)器測試并不能說明您的全球性能。

我們決定使用一個名為Catchpoint的工具來運行世界各地城市的基準(zhǔn)測試。為了進行比對,我們將站點部署到三個不同的靜態(tài)站點部署平臺,包括Workers Sites。

由于提供商在美國海岸或中歐提供數(shù)據(jù)中心區(qū)域,因此在北美等地區(qū)看到良好的表現(xiàn)是很正常的,我們?yōu)槟偨Y(jié)的結(jié)果如下:

ia_6500000006.png

但是你在世界其他地方的用戶呢?在這些地區(qū),性能甚至更為關(guān)鍵:第一批用戶才不會使用MacBook Pro通過驚人的快速連接訪問到您的站點。通過Workers Sites,您可以毫不費力地到達這些地區(qū)——每當(dāng)我們的網(wǎng)絡(luò)地圖擴展時,您的全球影響力就會隨之增長。

我們在世界各地為您運行了一些基準(zhǔn)測試,我們很高興與您分享測試結(jié)果:

ia_6500000007.png

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Cloudflare,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家