答案可能就是網站架構。你要選擇一個合適的架構,用來組織程式碼,然後在伺服器跑起來。
今天,我想給大家介紹,眼下最流行的一種網站架構。它非常合理,效果極佳,而且藉助雲服務商提供的工具,架設非常容易。
它就是本文的主題----邊緣平臺架構(edge platform)。
大家可能經常聽到"edge"(邊緣)這個詞,但是未必瞭解它的意思。我儘量用通俗的語言,解釋什麼是邊緣,什麼是邊緣平臺架構,它的優勢在哪裡,以及怎樣利用邊緣平臺,架設自己的網站。
一、從"伺服器-客戶端"談起
為了理解邊緣平臺,需要從最基本、最傳統的"伺服器-客戶端"(server-client)架構講起。
在"伺服器-客戶端"的架構下,存在一箇中心伺服器,所有客戶端都向它發出請求。
這種架構的優點是簡單易行,缺點是中心伺服器是一個單點依賴。一旦訪問量大,可能會有效能問題,還可能中斷服務。
而且,中心伺服器的物理位置是固定不變的,導致使用者的訪問速度與地理距離有關。同樣條件下,離伺服器越近,訪問速度越快;離伺服器越遠,訪問速度越慢。
二、CDN 的出現
為了減輕中心伺服器的負擔,更是為了拉近與使用者的地理距離,CDN 架構就出現了。
CDN 的想法很簡單,就是在各地的機房中設定大量的節點伺服器,把每次訪問都不變的靜態資原始檔,複製到這些伺服器上面。
使用者訪問時,涉及靜態檔案的請求就不會發到中心伺服器,而是透過 DNS 系統,發到地理位置最靠近的節點伺服器,由後者負責響應使用者。
這樣的設計,既減少了發往中心伺服器的請求,也減少了使用者與靜態檔案之間的物理距離,從而加快了訪問速度。
三、邊緣的概念
大家可能注意到了,CDN 架構中存在兩種不同作用的伺服器。
一種是中心伺服器,負責資料計算和儲存;另一種是節點伺服器,負責傳送靜態資原始檔。
由於節點伺服器是在架構的外圍,為了跟中心伺服器相對應,人們就把起到外圍輔助作用的節點伺服器,稱為"邊緣伺服器"(簡稱邊緣)。
就像上圖中,中心伺服器在雲端(cloud),它的外圍是邊緣伺服器(edge),然後才是使用者(user)。
邊緣伺服器有一個重要特徵,它是距離使用者最近的伺服器。人們有時候提到"邊緣",就特指最靠近使用者的那組節點伺服器。
四、邊緣平臺架構
CDN 架構只是把靜態檔案放到了邊緣伺服器,資料計算和資料儲存還是在中心伺服器,對於使用者來說,這部分可能還是很慢。
很自然地,大家就想到了,能不能把資料計算、資料儲存也放到邊緣伺服器呢?
答案當然是完全可以。只要把資料計算設計成不涉及狀態的雲函式,把資料儲存限制在沒有一致性要求的資料,它們就都可以放到邊緣伺服器。這就是邊緣計算和邊緣儲存的由來。
這樣的話,資料計算、資料儲存、檔案下載,都由距離使用者最近的邊緣伺服器處理,網站的響應速度就會整體提升。
由於邊緣伺服器這時具備多種功能,實際上就升級成了邊緣平臺,CDN 架構就變成了邊緣平臺架構。
在這種架構下,你的網站有許多個例項,分佈在每一組邊緣伺服器上。使用者訪問的總是距離最近的那個例項。
注意,中心伺服器這時還是存在的,只是它的工作主要變成了協調和同步邊緣伺服器,而不再是直接與客戶端互動了,客戶端只與最近距離的邊緣伺服器直接聯絡。
五、國外的邊緣平臺
國外很多新興的雲服務商,現在都主推邊緣平臺架構。
世界最大的 CDN 服務商 Cloudflare,早就不限於 CDN 服務了。它的邊緣伺服器除了存放靜態檔案,還可以進行雲端計算、資料庫讀寫、影像處理等許多功能。
其他的雲服務商 Vercel、Netlify、Netflix、Deno Deploy 提供的都是類似的服務。
國外的這些邊緣平臺,有一個最大的缺點,那就是伺服器都在境外,基本沒有中國大陸境內節點。
對於境內訪問者,沒有境內節點,就完全發揮不出邊緣伺服器響應速度快的優勢。所以,如果你有境內的訪問者,建議考慮使用國內的邊緣平臺。
六、騰訊雲邊緣平臺 EdgeOne
根據官網,騰訊雲的 EdgeOne 是"中國雲服務商中首家提供安全加速一體化的邊緣平臺"。我自己也使用這個產品,對它比較熟悉。
下面,我就拿它舉例,大家可以看看,真實的邊緣平臺是什麼樣的。
作為邊緣平臺,需要滿足三個條件。
首先,必須有全球分佈的大量節點。EdgeOne 基於騰訊雲,目前全球節點有3200+,覆蓋了100+的國家與地區。不管使用者在哪個地方,都能找到就近的節點。
如果某個節點飽和或發生故障,也可以切換到其他節點,保證站點的可用性。
其次,必須有海量的頻寬,否則難以經受大訪問量的衝擊。EdgeOne 的總頻寬達到 160Tbps+,足以抵抗大流量業務的突增。
再次,必須整合大量功能,方便使用者使用。EdgeOne 把騰訊雲的能力,幾乎都搬到了邊緣伺服器。具體來說,它整合了以下能力,有一些突出的技術亮點。
(1)全球的 CDN 加速。EdgeOne 是騰訊雲的下一代 CDN,在底層對境內加速和境外加速分別作了適配,使用者不再有感知。
(2)Web 應用防火牆。它不限制使用者的 QPS(每秒請求數),提供智慧 CC 防護,透過全平臺流量分析,統計並識別正常業務和突增流程特徵,制定動態適應策略。同時精準有效攔截 Web 漏洞威脅,抵禦 SQL 注入、XSS 等多種攻擊,保障站點健康可用。
(3)邊緣函式。只需編寫簡單的函式,無需考慮伺服器等基礎設施,就可以在邊緣節點上執行自己的程式碼。
(4)自定義安全策略。使用者可以指定5條自定義攔截規則,實現個性化的管控需要。使用者還可以實現基於黑名單及白名單的 IP 管控和區域封禁。
(5)DNS 解析服務。它的每個邊緣節點上都預備域名解析能力,1個站點可以設定300個子域名。
(6)使用者行為分析和日誌記錄。它會分析和監控異常流量,發現各種機器人爬蟲,並提供詳細的日誌圖表,以及各種訪問者指標。
綜上所述,邊緣平臺實際上是一種 All in one 的產品,屬於 CDN 的升級版,多種功能集於一身,並提供簡單的使用介面,極大地方便了使用者。
這裡插一句,EdgeOne 的產品全稱是"邊緣安全加速平臺",在邊緣平臺的產品基礎上,特別突出了安全和加速兩大特點,作為主要的功能賣點。
七、邊緣平臺的應用案例
讀到這裡,大家對邊緣平臺是什麼產品,應該已經有一個大致的瞭解。
你可能還會有疑問,在真實的生產環境中,它的作用到底有多大?
下面是一些從 EdgeOne 官網摘錄的真實案例,大家可以感受一下邊緣平臺對網站表現的巨大幫助。
(1)遊戲行業。某大型熱門遊戲用了邊緣平臺以後,請求耗時改善60%,同時成功防護了 DDoS 攻擊,攻擊的峰值流量達到 2.04Tbps。
(2)社交文娛行業。某短影片的頭部平臺用了邊緣平臺,降低20%卡頓率和50%播放失敗率,在部分東南亞國家效能改善高達100%,同時全面過濾海量攻擊流量,保證直播等業務正常執行。
(3)電商零售行業。在邊緣平臺上,電商平臺完成了所有商戶域名的便捷接入,還能自動頒發和更新免費 HTTPS 證書。
(4)金融行業。邊緣平臺大幅提高金融服務的訪問效能,保證網銀、手機銀行,信用卡都獲得了安全加速。
(5)全球辦公。在全球協同辦公場景下,邊緣平臺最佳化國內與海外辦公系統連線時的訪問速度,提高辦公效率和訪問體驗。
總之,只要你的網路服務,對訪問速度和安全防護都有較高的要求,就可以考慮使用邊緣平臺。
尤其對於那些有出海需求的國內企業,既要全球加速,又要防禦各類攻擊,像 EdgeOne 這樣的邊緣平臺應該是首選的網站架構。
八、邊緣平臺動手試
大家千萬不要覺得,邊緣平臺是大企業的專用產品,個人和小企業其實也完全可以用上邊緣平臺。它的功能並不區分訪問量的大小,都統一適用。
再說,看了這麼長一篇介紹,你難道不想動手試試嗎?只有親自上手,才能真正學會。
EdgeOne 剛剛進行了產品更新,釋出了基礎版和個人版。下面,我就以它為例,演示一下如何上手邊緣平臺的兩大核心功能----網站加速和安全防護。
(1)網站加速。這跟 CDN 的操作是一樣的,只需要一步操作,把域名交給邊緣平臺接管就可以了。
進入EdgeOne 的主頁,點選"立即使用"。
它會提示你"新增站點",輸入自己網站的域名即可。注意,該域名必須此時已經可以訪問了。
然後,系統會問你選擇哪一種套餐,初學者選擇"個人版"即可。
接著,它會要求你設定加速區域和 DNS 接入模式。
加速區域就是哪些區域的邊緣伺服器將會生效,一共有三種可選----全球,中國大陸,中國大陸以外地區。
DNS 接入模式是最關鍵的部分,一般情況下,都是選擇把域名的 DNS 伺服器遷移到邊緣平臺。對於那些不方便遷移的使用者,EdgeOne 還提供了另一種選擇,將域名的 CNAME 記錄指向 EdgeOne 即可。
然後就是最後一步,設定 DNS(或者 CNAME)的細節。
一旦 DNS 設定完成,邊緣平臺就會接管所有發往該域名的請求,分配給最近的邊緣伺服器,加速就自動實現了。
(2)安全防護。一旦邊緣平臺開始生效,就會檢查所有請求,EdgeOne 會自動識別和過濾掉 DDoS 攻擊和惡意請求。
這部分不需要使用者設定,某些情況下,使用者可能希望過濾掉具有指定特徵的請求,那麼就需要自定義攔截規則。
下圖是設定某個服務的海外版,只接受海外使用者訪問,不接受來自中國大陸的請求。
下圖則是同時設定兩個條件,只有來自 IP 地址1.1.1.1
的請求,才能訪問指定路徑(後臺)。
九、總結
從上一節的操作步驟,大家可以看到,雖然邊緣平臺本身是一個複雜的產品,但是所有的複雜性都被封裝了,使用者的操作是非常簡單的。
如果你希望自己的網站,對所有訪問者都有良好的速度,能夠應付瞬間的大流量,並且還有足夠的伺服器安全性,同時又不必支付高昂的費用,用多少付多少,那麼 EdgeOne 這樣的邊緣平臺架構就是你的最佳選擇。
它把加速和防護賦予了每個開發者,讓你的產品更安全、更易用、更開放,還節省成本。
EdgeOne 本次產品更新後,推出了力度很大的優惠,個人版第一年的費用不到4元/月,為大家學習和試用創造了良好的條件。
大家可以掃描加入產品交流群瞭解產品更多動態,或者訪問這個連結,以優惠的價格用上邊緣平臺。
(完)