-
1 # 喲喲吼說科技
-
2 # 大土咪
CDN是內容分發網路,也叫邊沿節點,就是在各地配置一些伺服器,在上面快取靜態檔案和內容,或者影片也可以,這些內容之所以叫靜態的的,就是基本上不太改動的,這樣,當用戶訪問這些內容的時候就智慧的從離使用者最近的CDN節點取得這些靜態內容,給使用者一個良好的體驗。
但是說到api介面,通常都是返回動態的內容,有實時性要求,所以基本不可能將動態內容推送到各地的幾十甚至上百個cdn邊沿節點去更新和同步,所以現在做不到題主說的這一點,就是用cdn去快取和加速api的呼叫。目前沒有一個公有云提供商可以做到,包括aws,阿里雲,騰訊雲,華為雲等。
但是,aws提供了另外一種思路,可以利用cdn的邊沿節點來加速API呼叫。思路是,使用者透過cdn邊沿節點來呼叫API介面,這樣,cdn的邊沿節點離使用者比較近,所以網路延遲小,再由CDN的邊沿節點將API呼叫路由到雲中真正的api伺服器上,走的是CDN邊沿節點到雲中心的專用網路,這樣整個的網路的延遲就會比較小,而且,如果是加密連結,可以在cdn邊沿節點上就解密,這樣後面cDN邊沿節點到雲API伺服器就可以用非加密連結,這樣的網路延遲和效率也會提高。這樣一來,總體的API呼叫的API網路傳輸要比使用者直接用公網連線雲API伺服器要延遲小一些,效率也高一些。但是這個功能目前只有aws有,這是國內這些雲還不具備的。
-
3 # 斯卡維迪
可以,但受限於場景。
概念:CDN(Content Delivery Networ)內容分發網路,常用於 WEB。CDN 初期是用來降低多次路由和跨運營商傳輸時的網路延遲,隨著網際網路內容的增長,CDN 現在主要解決的是伺服器提供靜態檔案時的頻寬問題(都 2018 年了電信 4Mbps 企業專線的每月價格仍然上千)。概念不多解釋了,百科更詳細。
接下來是你的問題:
1、WEB API 通常需要處理伺服器內不公開的資料,CDN 節點既沒有你處理資料的程式,也不能得到你的內部資料,所以,每一次 WEB API 呼叫都需要你的伺服器進行處理,CDN 不能加速伺服器中的業務資料處理。
2、HTTPS 協議需要建立加密的傳輸層,當 WEB API 呼叫達到一定量時,加密的 CPU 開銷也不可忽。透過 CDN,源伺服器只需向 CDN 節點提供 HTTP 訪問,由 CDN 節點使用 SSL 證書對傳輸層加密、向客戶端提供 HTTPS 訪問。CDN 可以去除伺服器處理 SSL 加密的負載,起到加速作用。(阿里雲 CDN 已經提供這項功能)
3、如果你的 WEB API 只是在伺服器和伺服器之間呼叫,而且呼叫也不要求 HTTPS,那麼 CDN 是起不到作用的。
-
4 # 網路圈
CDN是在1995年由美國麻省理工大學提出來的,是一整套能夠實現使用者就近訪問網路的解決方案。雖然CDN在90年代就提出來了,但也是最近幾年才被國內網站廣泛應用。以前都是國內大型網站才會採用的加速方案,而現在甚至個人網站都用上了CDN。
啥是CDN?CDN是內容分發網路的簡稱,它是一種分散式部署方案,CDN兩大核心功能即:內容儲存+分發。CDN有很多節點伺服器,CDN廠商將這些節點快取伺服器分佈在全國各地,利用負載均衡+智慧DNS技術實現將使用者的訪問分發到距離使用者最近的快取伺服器上,這樣快取伺服器直接響應了使用者的請求,加快了網站響應速度。
CDN具備哪些功能?CDN功能很強大,一般CDN都具備以下功能:
1、網站加速
CDN利用智慧DNS的負載均衡技術能實現使用者就近訪問Cache節點伺服器,能有效提高網站的響應速度。
2、映象功能
CDN有很多節點,這些節點伺服器會均衡分佈在電信、聯通、行動網路中。這樣一來就消除了不同運營商間的互聯互通問題,跨閘道器訪問不存在過多的時間消耗。
3、緩解了源站伺服器壓力
透過合理的利用快取策略,使得較多流量落在了CDN節點伺服器之上,回源頻率較小,這樣就減輕了源站伺服器的壓力。
4、叢集抗攻擊
上面說過了,CDN本身就是一種分散式部署方案,CDN對一般中小型DDoS攻擊有一定防禦能力。
使用CDN是否可以加速API介面?一般而言多數使用者都是將CDN作為網站加速來用,很多人覺得API資料是不能被快取的,所以覺得API不應該用CDN加速。其實我們使用CDN同樣可以給API做加速。上面講到了,CDN可以消除不同運營商間的互訪互通問題,舉例說明一下:
假設你的API服務託管在電信機房,那麼移動使用者訪問你的API時可能速度會比較慢,這是因為不同運營商間的互聯互通訪問時會經過較多網路節點,耗時會久一些。
但如果我們用了CDN給API來加速,那移動使用者訪問我們的API時,請求會先到距離使用者最近的CDN節點伺服器上,由這個節點伺服器去請求API,這個CDN節點伺服器一般是多線接入的,這樣會盡可能減少使用者到機房的網路故障機率。
另外使用了CDN後會隱藏源站伺服器的IP,一定程度上提升了源站伺服器的安全。
-
5 # 愛菡菡的菡菡
cdn通常只能加速靜態資源,比如圖片,js這些。但是現在阿里出了一個全站加速,我們測試是可以加速api介面的
-
6 # 孤路
問的人莫名其妙,答的人云裡霧裡
首先,明確你的api是基於什麼協議
明確回答:基於http協議的可以
只要你對的你API介面資料可以被快取,對實時性要求不高就可以
回覆列表
API(Application Programming Interface,應用程式程式設計介面)是一組定義、程式及協議的集合,提供通用的功能集,透過API介面實現計算機軟體之間的相互通訊。
如題,CDN可以透過API介面加速嗎?
喲喲認為如果想要實現CDN的加速,最好採用增加節點,通過後端裝置進行資料同步的方式,而API介面基本都是實時查詢的資料。
下面喲喲來簡單介紹一下如何實現CDN的加速:
CDN(Content Delivery Nerwork,內容分發網路)透過在因特網中新增一層新的網路架構,將內容分佈到最接近使用者的網路邊緣,用以提供使用者訪問的響應速度。CDN具體的工作流程:使用者在訪問某網站域名時,會先向本地DNS伺服器請求該域名對應的解析,若本地DNS伺服器沒有,則經過DNS根伺服器、域伺服器等一系列伺服器最終傳送至網站的主DNS,根據某些策略來確認最適合的CDN節點,並將解析的結果返回給使用者。
假設國內CDN節點過少,所有的使用者訪問請求均被定位到該CDN節點,那會造成網路的訪問響應變慢,影響體驗效果。若實現CDN的加速,最可行的辦法就是增加CDN的節點,根據DNS的排程將訪問使用者透過方位排程到距離最近的CDN節點,並透過GSLB負載均衡的技術,實現對CDN的加速。