cdn:搭建自己的cdn會有哪些樂趣和好處?
【溫馨提醒】文章內(nèi)容僅供參考,海外服務(wù)器租用\托管方案,請咨詢YINGSOO客服,24小時免費電話400-630-3752
【熱門主機】法國云主機丨云主機產(chǎn)品丨新加坡云主機租用丨英國云主機
【熱搜問題】英國云主機這么便宜,它好用嗎?
如你所見, 我也喜歡頁面能快速加載, 越快越好. 但在我們開始討論之前, 先要有一個清楚的認知: cdn 并不是萬能的. 如果因為糟糕的前端工作導(dǎo)致你的網(wǎng)站變慢, cdn 并不能幫到你太多, 你需要先做好前端工作. 但一旦你已經(jīng)做好了所有的優(yōu)化, 就需要來研究一下內(nèi)容傳輸這塊了.
我碰到的主要問題是即使能通過一次 Http 請求來完成初始網(wǎng)站的加載, 但因為我的服務(wù)器托管在法蘭克福, 在澳大利亞的人仍需要等待 2-3 秒后才能訪問到它. 超過 300ms 的往返延時和中間大量的服務(wù)提供商使得頁面加載就跟 wordpress 網(wǎng)站一樣慢.
那如何解決這個問題呢? 一種解決方案是使用傳統(tǒng)的 cdn. 然而大多數(shù)商業(yè) cdn 在從服務(wù)器請求到數(shù)據(jù)之后, 都會緩存一段時間.
由于 cdn 的存在, 在內(nèi)容獲取上稍微繞行了一下, 導(dǎo)致在使用傳統(tǒng) cdn 之后, 初始頁面的加載反而變慢了. 如果你的網(wǎng)站流量高, 內(nèi)容一直緩存著, 這沒什么大問題. 但反過來說, 如果和我一樣僅僅是運行一個小博客, 內(nèi)容并不會常駐緩存,傳統(tǒng)的 pull-cdn 反而會讓網(wǎng)站變得更慢. 當(dāng)然, 我也可以通過 push-cdn 直接上傳內(nèi)容, 但跟我要搭建的 cdn 相比, 這種成本要昂貴許多.
cdn 是如何工作的?
我們的方案很明確: 為了擴大世界影響力, 我們應(yīng)該保證內(nèi)容在任何位置都能被快速訪問. 這意味著內(nèi)容所在位置應(yīng)該盡量靠近訪問者. 方便的是, 很多云服務(wù)商在多個地區(qū)都提供了廉價的虛擬服務(wù)器. 我們是否僅需要把內(nèi)容放到比如 6 臺服務(wù)器上, 就萬事大吉了呢?
好吧, 沒那么快. 那如何把用戶路由到正確的服務(wù)器上呢? 我們看一下實際訪問網(wǎng)站的過程. 首先, 瀏覽器通過 dns 查詢網(wǎng)站的 ip 地址, 獲取到 ip 之后, 就可以連接網(wǎng)站并下載請求的頁面.
上層的解決方案其實很簡單: 需要一臺智能 dns 服務(wù)器, 對請求的 ip 做 geoip 查詢并返回離它最近的 ip 地址. 事實上, 幾乎所有的商業(yè) cdn 都是這么做的. 雖然還牽扯到許多工程學(xué)領(lǐng)域的內(nèi)容, 比如延遲測量等, 但基本原理還是這個.
讓 dns 服務(wù)器快起來
接下來新的問題出現(xiàn)了: 如何讓 dns 服務(wù)器快起來? 從最近節(jié)點上訪問網(wǎng)站僅僅解決了一半問題, 如果 dns 查找不得不繞行地球一周, 還是會有極大的延遲.
事實證明, 支撐互聯(lián)網(wǎng)的基礎(chǔ)設(shè)施非常適合解決這個問題. 網(wǎng)絡(luò)提供商使用邊界網(wǎng)關(guān)協(xié)議來相互告知可連接的網(wǎng)絡(luò)和躍點的多少. 多數(shù)情況下, 最終互聯(lián)網(wǎng)提供商會采用最短路線來到達目標(biāo)地址.
如果在多個位置使用一個 ip 地址, dns 總是會路由到最近的節(jié)點, 這就是 bgp Anycast.
為何網(wǎng)站下載不使用 bgp Anycast?
如果能做到, 我們?yōu)楹尾缓唵问褂?bgp 來路由網(wǎng)絡(luò)流量呢? 主要有三個原因.
首先, 使用 bgp Anycast 需要在網(wǎng)絡(luò)硬件上做控制, 并且需要一個至少包含 256 個 ip 地址的池子, 這超出了我們的預(yù)算.
其次, bgp 路由并不那么穩(wěn)定. 不同于 dns 請求僅僅只需要向兩個方向發(fā)送單個數(shù)據(jù)包, Http web 請求需要創(chuàng)建一個連接來下載內(nèi)容. 期間如果路由改變或者連接不穩(wěn)定, Http 連接就會斷開. 對這種規(guī)模的工程來說反而增加了很多復(fù)雜性.
最后, 躍點作為 bgp 路由計算基礎(chǔ), 它數(shù)目的減小并不能保證往返延遲的減小. 一個跨大洋的躍點可能僅僅是一個躍點, 但卻是時間最長的一個.
創(chuàng)建 dns
既然已經(jīng)確認不能運行我們自己的 bgp Anycast, 也意味著同樣不能運行我們自己的 dns 服務(wù)器. 讓我們?nèi)フ艺沂召M的!… 事實證明, 同時提供 bgp Anycast 和延遲路由的 dns 提供商很難找到. 我只搜索到了 2 個: 相當(dāng)昂貴的 dyn 和非常便宜的 Amazon Route53.(更新: 后來發(fā)現(xiàn), dns made easy 也能實現(xiàn)延遲路由) 既然想合算, 就選 Route53 了. 添加域名之后開始為機器設(shè)置 ip. 我們需要設(shè)置跟我們遍布世界各地的 (邊緣節(jié)點) 服務(wù)器同樣多的 dns 記錄, 每條記錄設(shè)置如下:
提示: 最好對每個邊緣節(jié)點都創(chuàng)建一個健康檢查以便在他們失效后進行移除.
分發(fā)內(nèi)容
我們需要解決的下一個問題是分發(fā)內(nèi)容. 每個邊緣節(jié)點都需要有相同的內(nèi)容. 如果你使用的是 Jekyll 這樣的靜態(tài)網(wǎng)站生成器, 工作很簡單: 只需要將生成的 HtmL 文件復(fù)制到所有的服務(wù)器上即可. 一個簡單的 rsync 就能搞定.
如果想使用 wordpress 這樣的內(nèi)容編輯系統(tǒng), 工作會困難的多, 因為它并不能在 cdn 上運行. 當(dāng)然也可以做, 但免不了有缺陷, 靜態(tài)內(nèi)容的分發(fā)仍然是一個問題. 你可能必須要創(chuàng)建一個分布式存儲才能正常工作.
使用 ssL/tLs 證書
下一個痛點是使用 ssL/tLs 證書. 實際上, 可以統(tǒng)稱他們?yōu)? x509 證書. 每個邊緣節(jié)點都需要為域名設(shè)置有效的證書. 當(dāng)然, 最簡單的解決方案是使用 Letsencrypt 來生成不同的證書. 但要注意, 我在其中一個邊緣節(jié)點上碰上了 Le 有效期的問題, 導(dǎo)致在每周限額到期之前我不得不暫時把倫敦節(jié)點下掉.
我使用 traefik 作為我的選擇代理, 它支持分布式鍵值存儲, 甚至支持 Apache Zookeeper 后端同步. 雖然這需要一些程序設(shè)計, 可從長遠來看會更穩(wěn)定一些.
結(jié)果
是時候檢驗一下結(jié)果了, 我的 cdn 表現(xiàn)如何呢? 使用這個工具, 看一下總體數(shù)據(jù):
如你所見, 相當(dāng)不錯的結(jié)果. 我可能還需要在亞洲和南美加兩個節(jié)點來優(yōu)化加載時間.
更新: 在把它提交到 Hacker news 首頁之后, 我可以使用 google Analytics 來收集一些實際使用數(shù)據(jù):
結(jié)論: 我確實需要一個新加坡節(jié)點. 在印度的加載時間超過了預(yù)期的 1 秒.
常見問題
我在做這項工作的時候, 人們經(jīng)常問我:” 你為什么要做這個呢? 你這是自尋煩惱啊 “. 確實, 在某種程度上, 我喜歡做不同的事情來探索新方向和新技術(shù), 建立自己的 cdn 可能具有很大的意義. 讓我們來談?wù)勱P(guān)于設(shè)置的一些問題.
首先申明: 如果商業(yè)提供商能推出價格合理的 p[高防服務(wù)器]ush cdn, 讓我能處理 nice URLs, ssL 和自定義頭信息, 我絕對樂意花錢解決問題并停掉我自己的基礎(chǔ)設(shè)施. 搭建它很有趣, 但我還有很多服務(wù)器沒有運行它.
為何不用 cloudFlare?
對很多人來說 cloudFlare 是一個很棒的工具, 但如上所述, cdn 會從緩存中移除未使用的內(nèi)容. 我管理的其他網(wǎng)站, 在正確配置的情況下緩存命中率大概能達到 75%. 擁有自己的 cdn 則意味著內(nèi)容會常駐緩存, 不會有訪問遠程服務(wù)器而導(dǎo)致的往返延時.
為何不用 s3 或 cloudFront?
Amazon s3 有托管靜態(tài)網(wǎng)站的選項, 并且可以與 cloudFront 結(jié)合著使用. 然而, 它不允許你自定義緩存頭信息, 設(shè)置 nice URLs 等. 為此, 你需要使用 Lambda@edge, 這是一[臺灣vps價格]個可以讓你在 cloudFront 邊緣節(jié)點上運行代碼的工具. 但 Lambda@edge 跟 cdn 有同樣的問題: 如果它在一段時間內(nèi)沒有接收到請求, 運行它的容器就會關(guān)閉, 再次重啟則需要一秒鐘的時間.
為何不用 google Amp?
google Amp 只會在用戶通過 google 搜索引擎訪問你的網(wǎng)站時才會帶來效果. 而我的大部分流量并非來自 google, 所以它并不能解決問題. 它僅僅對 google 有效果, 不管其他. 而且我完全有能力在不使用他們提供的簡化 HtmL 的情況下搭建一個快速網(wǎng)站.
誰在意? 3 秒的加載時間已經(jīng)很棒了!
我是一個擅長內(nèi)容傳輸?shù)?devops 工程師. 不管其他人如何, 我都應(yīng)該有一個全球都能快速訪問的網(wǎng)站, 不是嗎? 我一般都會將 google Amp 關(guān)閉, 因為跟他們所期望的不同, 這是一項糟糕的技術(shù).
搭建
現(xiàn)在看你的了: 是否要搭建你自己的 cdn? 源代碼在 gitHub 上, 拿去吧!
英文原文 |
美國服務(wù)器租用助力國內(nèi)企業(yè)出海
在掌握別的單獨服務(wù)器租用提供商與美國服務(wù)器租賃服務(wù)的差別以前,細心科學(xué)研究每個種類的網(wǎng)站托管作用十分關(guān)鍵,這將有利于維持您的業(yè)務(wù)流程保持不斷的提高。
大家都知道,美國服務(wù)器租用服務(wù)是為每一公司提供全部資源(包含CPU、運行內(nèi)存、固態(tài)盤和網(wǎng)絡(luò)帶寬)的美國物理學(xué)服務(wù)器租用服務(wù)。針對公司來講,美國服務(wù)器租用是最合適必須很多總流量和離開資源的好幾個程序運行的服務(wù)器。
店鋪買家能夠根據(jù)租賃最劃算、最靠譜的美國服務(wù)器來布署公司級的平臺網(wǎng)站或運用。針對業(yè)務(wù)流程解決方法,美國服務(wù)器租用將會會因為下列緣故而具備優(yōu)點:位于美國,不用辦理備案,即開即用;提供最大root管理權(quán)限,徹底瀏覽服務(wù)器,高寬比可信性,高協(xié)調(diào)能力,電腦操作系統(tǒng)隨意布署,及時重新啟動,高安全系數(shù),100%內(nèi)部適用專用型網(wǎng)絡(luò)ip池,徹底備份文件等。美國服務(wù)器與一般的共享資源云虛擬主機有挺大不一樣,它具備一些益處,比如能夠合理地布署很多具有性能要求的平臺網(wǎng)站,進而得到比較滿意的特性?!氨竟尽泵绹?wù)器租用服務(wù),提供美國銷售市場中最高品質(zhì)的服務(wù)器租用服務(wù),有著不計其數(shù)的忠誠顧客,他們提供具備競爭能力的價錢而且徹底靠譜。
不容置疑,本公司的美國服務(wù)器租用服務(wù)提供99.9%的一切正常運作時間確保,及其可信賴的24/7顧客適用。本公司美國服務(wù)器租用服務(wù)提供技術(shù)專業(yè)的作用,包含訂制人性化的服務(wù)器配備與特性,而且RAM跨距在8GBDDR3至128GBDDR4中間。假如您準備布署大中型代管業(yè)務(wù)流程,則本公司會解決充足的傳輸數(shù)據(jù),這代表能夠輕輕松松解決好幾個平臺網(wǎng)站和總體總流量。在特殊的服務(wù)套餐內(nèi)容中,本公司適用每一平臺網(wǎng)站的無限網(wǎng)站域名和服務(wù)器室內(nèi)空間。要依據(jù)方案建立大中型資源池,您務(wù)必為每一要代管的網(wǎng)站域名建立一個賬號。另一種挑選是為盡快解決的不一樣網(wǎng)站域名解決不一樣的網(wǎng)站域名管理人員。
挑選本公司美國服務(wù)器租用服務(wù)時,你能應(yīng)用自身的私人訂制服務(wù)器,而且能夠依據(jù)必須配備網(wǎng)站域名。您能夠掩[選擇美國獨立服務(wù)器的小竅門]藏你的專享IP詳細地址,并使您的平臺網(wǎng)站看上去更技術(shù)專業(yè)。此外,你可以得到高級DNS管理方法以設(shè)定自身的電子郵件服務(wù)器并從DNS操作面板偏向從每一網(wǎng)站域名到服務(wù)器的電子郵箱??蛻粢龃罅康氖聝?,比如讓不一樣的子域偏向不一樣的服務(wù)器。本公司完全免費提供建立內(nèi)部網(wǎng)服務(wù),并適用設(shè)定rDNS。
應(yīng)用美國服務(wù)器租用服務(wù),您能夠應(yīng)用隨意必須內(nèi)部自然環(huán)境和操作面板,并讓操作面板另外機構(gòu)您自身的顧客以及代管賬號。美國服務(wù)器的操作面板根據(jù)服務(wù)器監(jiān)控專用工具查驗FTP和MySQL等服務(wù)的情況。享有對顧客賬號的良好控制,及其改動或修改密碼,停止其賬號,中止賬號、建立和改動系統(tǒng)軟件程序包,數(shù)據(jù)庫查詢和FTP賬號。
本公司美國服務(wù)器租用服務(wù)的重任為顧客提供高品質(zhì)平穩(wěn)的特性,進而協(xié)助顧客保持業(yè)務(wù)流程總體目標(biāo)。本公司美國服務(wù)器租用服務(wù)勤奮飛速發(fā)展本身的市場競爭力,保存其忠誠的顧客并保存她們,以提高其在銷售市場中的影響力。
在現(xiàn)如今的銷售市場中,美國服務(wù)器租用服務(wù)在歐美區(qū)最具競爭能力。許多具有雙重CN2直連中港的美國服務(wù)器,能夠保[美國云服務(wù)器價格]證中國內(nèi)地、美國及歐洲區(qū)普遍顧客群的不斷髙速瀏覽,極為合適出口外貿(mào)電子商務(wù)、娛樂游戲、金融貿(mào)易等制造行業(yè)情景。
在優(yōu)選美國服務(wù)器租用服務(wù)時,你必須在考慮到全部要素的狀況下,不斷參照銷售市場上主流產(chǎn)品的美國服務(wù)器租用服務(wù)商。以便在可承擔(dān)的價錢范圍之內(nèi)為顧客提供公司級解決方法,本公司很多年來在美國地域累積起豐富的硬件軟件資源,并在美國地域產(chǎn)生健全高效率的制造行業(yè)協(xié)作生態(tài)環(huán)境保護,保證考慮不一樣經(jīng)營規(guī)模的公司IT布署計劃方案。
YINGSOO免費熱線:4006_303_752
熱門文章:【steam饑荒服務(wù)器】【美國優(yōu)質(zhì)服務(wù)器看看YINGSOO怎么樣】【香港云服務(wù)器好不好】【搭建云服務(wù)器ecs】【臺灣服務(wù)器和香港服務(wù)器有什么區(qū)別】【韓國vps三網(wǎng)直連】【美國kt服務(wù)器租用】【服務(wù)器ip地址在哪里看】【云防御】【高防服務(wù)器租用對網(wǎng)站SEO有哪些影響】【虛擬主機不穩(wěn)定】【美國服務(wù)器有哪些】【德國服務(wù)器價格表】【北京機房】【如何租用美國便宜g口服務(wù)器】【服務(wù)器租賃價錢該怎樣取舍】【不封機外貿(mào)服務(wù)器如何選擇呢】【韓國服務(wù)器怎么避免惡意攻擊】【unix服務(wù)器】【美國cn2服務(wù)器速度怎么樣】【cdn高防】【真實IDC公司】【聚美優(yōu)品是不是正品】【國外獨立服務(wù)器】【http服務(wù)器租用】【視頻會議服務(wù)器】【點播服務(wù)器】【BGP雙線】【云服務(wù)器取代傳統(tǒng)虛擬主機的優(yōu)勢】【視頻云服務(wù)器】
香港主機windows?9年香港云服務(wù)器租用業(yè)務(wù)運營經(jīng)驗,1200家企業(yè)客戶共同選擇;香港寬頻,PCCW機房核心合作伙伴,連續(xù)3年香港云服務(wù)器租用,24小時在線服務(wù).
http://www.sddonglingsh.com/products/cloud-hk.html
YINGSOO穩(wěn)定臺灣主機優(yōu)惠中!介紹新客戶,返現(xiàn)16%!
9年穩(wěn)定臺灣主機服務(wù)商,超過1200家企業(yè)共同選擇,五星機房品質(zhì),帶控制臺.立即申請穩(wěn)定臺灣主機3天免費試用,,專業(yè)數(shù)據(jù)災(zāi)備方案,24小時貼心服務(wù)
http://www.sddonglingsh.com/products/cloud-tw.html
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。