自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

內容交付網絡(CDN)系統(tǒng)設計

網絡
從本質上講,CDN解決了兩個問題,高延遲和數(shù)據密集型應用程序,下面,讓我們從高級組件設計和主要工作流程開始。

CDN是一組地理分布的代理服務器。代理服務器是客戶端和源服務器之間的中間服務器。這些代理服務器位于網絡邊緣,靠近終端用戶。代理服務器的放置有助于通過減少延遲和節(jié)省帶寬來快速將內容交付給終端用戶。CDN還具有額外的智能功能,用于優(yōu)化流量路由并實施規(guī)則以保護免受DDoS攻擊或其他異常網絡事件的影響。

從本質上講,CDN解決了兩個問題:

  • 高延遲。如果您的服務部署在美國,那么亞洲地區(qū)的延遲將較高,這是由于與提供數(shù)據中心的物理距離造成的。
  • 數(shù)據密集型應用程序:它們傳輸大量數(shù)據。在較長距離上,由于路徑中存在多個互聯(lián)網服務提供商,可能會出現(xiàn)問題。其中一些可能具有較小的鏈路、擁塞、數(shù)據包丟失和其他問題。距離越長,路徑上的服務提供商就越多,其中一個出現(xiàn)問題的幾率就越高。

讓我們從高級組件設計和主要工作流程開始。

高級架構

  • 路由系統(tǒng)將客戶端引導到最近或最優(yōu)的CDN位置。為了有效地執(zhí)行這個功能,該組件接收來自各種系統(tǒng)的輸入,以了解請求來自何處、內容位于何處、數(shù)據中心的繁忙程度等等。有兩種最流行的路由系統(tǒng):帶有負載均衡的DNS和Anycast。我們將在視頻中討論它們。
  • Scrubber服務器用于分離良好的流量和惡意流量,以防范DDoS攻擊。Scrubber服務器通常僅在檢測到攻擊時使用。如今,Scrubber服務器非常復雜,允許客戶端推送非常細粒度的防火墻規(guī)則,并在實時中在所有數(shù)據中心應用這些規(guī)則。
  • 代理或邊緣代理服務器為終端用戶提供內容。它們通常會將內容緩存,并從RAM中提供快速檢索。
  • 內容分發(fā)系統(tǒng)負責將內容分發(fā)到不同CDN設施中的所有邊緣代理服務器。通常使用樹狀分發(fā)模型。稍后在視頻中會詳細介紹。
  • 源服務器是托管在CDN上分發(fā)的原始內容的用戶基礎設施。
  • 數(shù)據控制系統(tǒng)用于觀察資源使用情況和統(tǒng)計信息。該組件測量指標,如延遲、停機時間、數(shù)據包丟失、服務器負載等等。然后將其反饋給路由系統(tǒng)以進行最佳路由。

讓我們走一遍主要的工作流程:

  1. 我們從源服務器為特定DNS域或特定DNS名稱提供內容委托開始。它告訴CDN所有到特定URL的請求將被代理。
  2. 源服務器將內容發(fā)布到分發(fā)系統(tǒng),負責在一組邊緣代理服務器上分發(fā)內容。通常使用“推送”和“拉取”模型,通常兩者都會被使用。
  3. 分發(fā)系統(tǒng)將合格的內容發(fā)送給代理服務器,同時跟蹤哪些內容在哪個代理服務器上被緩存。它還了解哪些內容是靜態(tài)的和動態(tài)的,需要刷新的數(shù)據的TTL、內容租約等等。
  4. 客戶端向路由系統(tǒng)請求合適的代理服務器IP,或使用Anycast IP來路由到最近的位置。
  5. 客戶端請求通過Scrubber服務器。
  6. Scrubber服務器將良好的流量轉發(fā)到邊緣代理。
  7. 邊緣代理服務器為客戶端請求提供服務,并定期將其健康信息轉發(fā)給數(shù)據控制系統(tǒng)。如果代理中不可用的內容,則會路由到源服務器。

現(xiàn)在想象一下,您有一個單一的網站,需要將內容分發(fā)到20個地區(qū),每個地區(qū)有20個需要存儲的代理。20個地區(qū)+20個副本,這意味著您需要將數(shù)據傳輸?shù)紺DN 400次,非常低效。為解決這個問題,可以使用類似樹狀復制模型。

樹狀內容分發(fā)

數(shù)據被發(fā)送到地區(qū)邊緣代理服務器,然后使用CDN的內部網絡將其復制到同一地區(qū)的子代理服務器。這樣,我們只需每個地區(qū)或地理區(qū)域復制一次內容。根據規(guī)模的不同,地區(qū)可以是特定的數(shù)據中心或更大的地理區(qū)域,其中我們有兩個級別的父代理服務器。

對于用戶來說,從最近的代理服務器獲取數(shù)據至關重要,因為CDN的目標是通過將數(shù)據靠近用戶來減少延遲。CDN公司通常使用兩種路由模型。第一個基于帶有負載均衡的DNS,歷史上最流行。我認為更新且更有效的是Anycast模型,它將路由和負載均衡委托給Internet的BGP協(xié)議。讓我們來看看它們。

在典型的DNS解析中,我們使用DNS系統(tǒng)獲取與可讀的名稱相對應的IP。在我們的情況下,我們將使用DNS返回另一個DNS名稱給客戶端。這被稱為DNS重定向,內容提供者使用它將客戶端發(fā)送到特定的CDN區(qū)域。例如,如果客戶嘗試解析company.com,權威DNS服務器會提供另一個URL(例如cdn.us-east.company.com)??蛻舳诉M行另一次DNS解析,并獲取US-East地區(qū)合適的CDN代理服務器的IP地址。根據用戶的位置不同,DNS的響應也會不同。

因此,首先根據用戶的位置將客戶端映射到適當?shù)臄?shù)據中心。在第二步中,它調用一個負載均衡器之一,以在代理服務器上分發(fā)負載。要將客戶從一個區(qū)域轉移到另一個區(qū)域,必須進行DNS更改,以刪除在困難區(qū)域的負載均衡器IP。為使此工作正常,必須將DNS TTL設置為最低,以便客戶端盡快獲取更改。

但仍然會有一些流量通過,并且如果該區(qū)域發(fā)生故障,流量將受到影響。我在另一篇關于可擴展API網關和邊緣設計的視頻中討論了類似的問題。我會在描述中放置一個視頻鏈接。

更有效的方法是Anycast設計。

Anycast是一種路由方法,其中位于多個位置的所有邊緣服務器共享相同的單個IP地址。它利用邊界網關協(xié)議或BGP來根據互聯(lián)網的自然網絡流向路由客戶端。CDN使用Anycast路由模型將互聯(lián)網流量傳送到最近的數(shù)據中心,以確保提供改進的響應時間,并在出現(xiàn)特殊需求,如DDoS攻擊時,防止任何數(shù)據中心受到交通超負荷的影響。

當請求發(fā)送到Anycast IP地址時,路由器將將其引導到網絡上最近的機器。如果整個數(shù)據中心發(fā)生故障或發(fā)生維護,Anycast網絡可以對故障做出類似于負載均衡器跨多個服務器或區(qū)域分流流量的應對;數(shù)據將從出現(xiàn)故障的位置轉移到仍然在線和正常運行的另一個數(shù)據中心。

Anycast的可靠性

使用DNS和負載均衡器的Unicast IP使用單一機器,單一IP。大多數(shù)互聯(lián)網都是通過Unicast路由模型工作的,其中網絡上的每個節(jié)點都會獲得一個唯一的IP地址。

Anycast是——許多機器,一個IP

雖然Unicast是運行網絡的最簡單方法,但不是唯一的方法。使用Anycast意味著網絡可以非常有彈性。因為流量將找到最佳路徑,我們可以將整個數(shù)據中心脫機,流量將自動流向下一個最近的數(shù)據中心。

Anycast的最后一個好處是它也可以幫助緩解DDoS攻擊。在大多數(shù)DDoS攻擊中,使用許多被攻陷的“僵尸”計算機來形成所謂的僵尸網絡。這些機器可以分散在網絡中,并生成大量流量,以至于它們可以淹沒典型的Unicast連接的機器。Anycasted網絡的性質在于,它在固有地增加了吸收此類攻擊的表面積。分布式僵尸網絡將其服務拒絕服務的流量的一部分吸收到每個具有容量的數(shù)據中心中。

現(xiàn)實世界中的例子是Cloudflare,它構建了一個遍布全球數(shù)百個地方的全球代理網絡。它聲稱使他們與全球95%的互聯(lián)網連接人口約相距50毫秒。由于網絡也建立在Anycast IP上,它提供了總容量超過170 Tbps。這意味著他們不僅能為大量客戶提供服務,還能通過將惡意流量分散到多個位置來處理最大的DDoS攻擊。

責任編輯:趙寧寧 來源: 小技術君
相關推薦

2013-08-08 11:02:46

2018-10-30 12:15:26

CDN網絡技巧

2015-05-18 18:09:55

Rackspace

2014-11-12 09:59:31

2016-07-22 12:44:43

云計算

2021-07-30 20:24:24

CDN網絡架構

2015-12-15 10:27:56

GoogleGoogle Clou云計算

2022-06-13 21:52:02

CDN網絡節(jié)點

2022-03-25 14:16:43

CDN內容交付網絡網絡

2013-04-01 13:11:33

網絡CDN網絡加速

2010-11-10 21:30:32

2024-04-10 08:00:00

2023-07-14 12:07:19

2015-07-30 10:45:15

2024-08-05 09:11:05

2018-11-19 05:00:45

2010-11-10 21:05:37

2012-03-01 17:30:01

銳捷網絡PowerCache內容加速
點贊
收藏

51CTO技術棧公眾號