成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

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

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

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

高級架構

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

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

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

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

樹狀內容分發

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

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

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

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

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

更有效的方法是Anycast設計。

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

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

Anycast的可靠性

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

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

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

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

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

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

2013-08-08 11:02:46

2015-05-18 18:09:55

Rackspace

2018-10-30 12:15:26

CDN網絡技巧

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網絡節點

2022-03-25 14:16:43

CDN內容交付網絡網絡

2010-11-10 21:30:32

2023-07-14 12:07:19

2013-04-01 13:11:33

網絡CDN網絡加速

2024-04-10 08:00:00

2015-09-16 18:14:09

應用交付

2018-11-19 05:00:45

2024-08-05 09:11:05

2010-11-10 21:05:37

2012-03-01 17:30:01

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

51CTO技術棧公眾號

主站蜘蛛池模板: 成人黄色在线视频 | 一区二区久久精品 | 亚洲高清一区二区三区 | 三级成人片 | av电影一区 | 天天躁天天操 | 91人人视频在线观看 | 亚洲狠狠爱 | 黄网免费看 | 亚洲福利| 久久久精品一区 | 国产精品不卡 | 麻豆av免费观看 | 久久久免费少妇高潮毛片 | 九色www| 精品国产一区二区三区观看不卡 | 成人在线视频免费播放 | 羞羞色影院 | 国产成人高清视频 | 9久9久9久女女女九九九一九 | 国产在线www| 国产精品中文字幕在线 | 国产91久久久久蜜臀青青天草二 | 久国产精品| 国产电影一区二区三区爱妃记 | 国产成人免费一区二区60岁 | 国内精品久久久久久久 | 亚洲视频自拍 | 九九久久免费视频 | 国产高清精品一区二区三区 | 日本中出视频 | 婷婷色在线播放 | 在线精品一区二区三区 | 91久久电影 | 日本一区二区高清不卡 | 国产精品永久在线观看 | 毛片1| 久久久av一区 | 精品久久久久一区二区国产 | 一级a性色生活片久久毛片 一级特黄a大片 | www.操com|