高并發(fā)架構(gòu):高并發(fā)架構(gòu)的cdn知識介紹
【溫馨提醒】文章內(nèi)容僅供參考,海外服務(wù)器租用\托管方案,請咨詢YINGSOO客服,24小時免費電話400-630-3752
【熱門主機】美國云服務(wù)器托管丨云服務(wù)器 香港丨柬埔寨云服務(wù)器推薦丨德國云服務(wù)器
【熱搜問題】境外服務(wù)器和境內(nèi)服務(wù)器的區(qū)別有哪些?區(qū)別可大了

對一次網(wǎng)絡(luò)請求過程的了解程度,一是展現(xiàn)你的專業(yè)知識;二是深刻的理解,讓你在大型網(wǎng)站架構(gòu)中做出更適合、可靠的架構(gòu)。而dns是這一切的出發(fā)點,本文結(jié)合一張常用架構(gòu)圖,來描述一下這個過程。
部署架構(gòu)
大型的web服務(wù),我們的部署架構(gòu)一般如下圖。先上圖再解釋。
這里來解釋下,為什么要這樣架構(gòu)。 首先客戶端的請求會通過 dns 獲取到對應(yīng)的服務(wù)器ip(實際上是Lb的ip地址),這一層會有 dns的負載均衡,并且如果是靜態(tài)站資源會進入到cdn,這里dns與cdn如何完成接棒的過程,后面會詳細解釋。 當(dāng)請求到達Lb層的時候(應(yīng)用層協(xié)議是Http協(xié)議),這一層又會做一次負載均衡(可能用LVs或者nginx做)。這里我們有兩種不同的處理方式,一條路徑會進入到代理集群,一條路徑直接進入到應(yīng)用集群。這是為什么?
Lb到代理集群
通過最頂層的Lb負責(zé)均衡后到達代理機器,這里不直接進入到應(yīng)用集群,還要搞一層代理的目的主要是方便我們在代理集群進行各種高級(騷)操作。
比如:請求日志收集,自定義緩存,自定義的負載均衡,自定義的路由規(guī)則制定(跨機房,路由分組)
Lb到應(yīng)用集群
上面到代理層有那么多好處,為什么還有繞過代理層這條路徑存在呢?這主要是針對大流量服務(wù)。因為代理層因為有很多額外的操作,導(dǎo)致響應(yīng)會變長,路徑增加,到下一個集群多了一次網(wǎng)絡(luò)傳輸往返。
所以,一般針對大流量服務(wù),為了防止代理被打滿,響應(yīng)更快,會直接在外網(wǎng)Lb上進行負載到應(yīng)用集群。
通過上面的分割后,最終都會到達應(yīng)用集群,每一臺機器上我們會部署一臺 nginx 來按照域名轉(zhuǎn)到對應(yīng)服務(wù),當(dāng)然這里完全也可以不是 nginx,比如微服務(wù),這里可能是一個 sidecard 代理。這里主要是為了便于說明我們后面全部都是當(dāng)成nginx。服務(wù)調(diào)用 db cache 等,都是通過域名,這是為了負載均衡,請求時,會通過內(nèi)網(wǎng)dns服務(wù),完成域名解析,然后拿到內(nèi)網(wǎng)的 Lb 的ip。然后再這里進行內(nèi)網(wǎng)的負載均衡,會根據(jù)域名的端口來檢查你是寫操作、還是讀操作返回ip。常規(guī)一點會保證是單點寫入,多點讀取。來完成數(shù)據(jù)一致性的保障。
整個大體過程如此,接下來我們詳細說一下 dns與cdn相關(guān)的工作原理。
dns如何實現(xiàn)ip查找
為了后面說清楚cdn,這里先介紹dns的解析過程。當(dāng)然此類文章網(wǎng)絡(luò)上已經(jīng)極多。但是我還是想按照我的理解來說一下dns是如何工作的。
在整個dns過程中有四個重要概念,下面解釋下。
dns Resolver - 遞歸解析器,主要是接收客戶端發(fā)出的域名解析請求,并發(fā)送 dns query 查詢請求。對于客戶端來說它不需要任何操勞,等待 dns Resolver 告訴自己域名轉(zhuǎn)ip的結(jié)果就好。
Root server - 這是轉(zhuǎn)換ip執(zhí)行的第一步查詢,根服務(wù)器并不會保存具體的域名ip映射信息。它就像一個索引服務(wù)器,會告訴你下一步該去那臺 tLd server 查詢。
tLd server - 這是頂級域名服務(wù)器,是執(zhí)行ip查詢的第二步,這里會告訴 dns Resolver 權(quán)威域名服務(wù)器的地址。
Authoriative server - 權(quán)威域名服務(wù)器就是包含了完整的機器名的域名,例如:www.example.com ,在這臺機器上保存了這個具體域名對應(yīng)的ip地址。
下面根據(jù)圖中的十個步驟說一下每一步都在干嘛。
1.一個用戶在瀏覽器輸入了:example.com,這時會產(chǎn)生一個 dns 查詢,從而進入到 dns Resolver中;
2.Resolver 會進入到 root server 進行查詢;
3.root server 返回了 tLd server 的地址,查詢請求轉(zhuǎn)向頂級域名服務(wù),這里是 .com 服務(wù)器。
4.遞歸解析器向 .com 服務(wù)器發(fā)送一個請求;
5.tLd server 收到請求后會返回 example.com 權(quán)威服務(wù)器的地址;
6.遞歸解析器又發(fā)了一個向權(quán)威服務(wù)器查詢的請求,至此權(quán)威服務(wù)器查詢自己的映射表拿到ip;
7.返回查詢到的ip給了 dns Resolver;
8.dns Resolver返回ip給瀏覽器,瀏覽器將會用這個ip來建立連接,發(fā)起請求;
9.客戶端通過這個ip地址,發(fā)起一個 Http 請求;
10.服務(wù)器解析請求,并返回數(shù)據(jù)到瀏覽器。
這里需要補充一點是,上面每一步其實都有dns緩存的設(shè)計。比如:
.瀏覽器會緩存dns的結(jié)果,(chrome://net-internals/#dns)
.操作系統(tǒng)的dns模塊會緩存
.后面的每一層級也都有緩存
所以很多時候,我們的解析過程并不是要順序執(zhí)行完這8個步驟。這就跟我們自己開發(fā)的應(yīng)用服務(wù)一樣,層層緩存,有緩存就讀取緩存結(jié)果,緩存實現(xiàn)就執(zhí)行完整流程。
dns的解析分類
dn[菲律賓云服務(wù)器]s有多種解析記錄可以設(shè)置,我這里介紹三個很常用的記錄。
A記錄 - 被稱為ip指向,用戶設(shè)置自己域名指到對應(yīng)的ip主機上。如果想要利用A記錄實現(xiàn)負載均衡需要主機商的支持。
cnAme記錄 - 它相當(dāng)于為一個主機名設(shè)置一個別名,而且該記錄不能直接使用ip,只能是另一個主機的別名。cdn主要就是利用該記錄來完成的。如果有A記錄與cnAme記錄同時存在,A記錄會被優(yōu)先使用,換句話說cnAme記錄不會生效。
ns記錄 - 用來設(shè)置一個域名的權(quán)威服務(wù)器路徑,該記錄只會對子域名生效。這個地方可以設(shè)置ip也可以設(shè)置另外一個權(quán)威服務(wù)器的域名。需要重點指出的是它的優(yōu)先級高于A記錄,并且它在dns解析過程中,會跳過2,3,4,5步。
了解完了dns的步驟,接下來就進入到cdn部分的分析。
cdn訪問加速度
什么是cdn呢?中文翻譯過來就是內(nèi)容分發(fā)網(wǎng)絡(luò)??磸垐D。
沒有cdn的時候,不管哪里的用戶訪問我們的站點,都需要到我們數(shù)據(jù)中心來獲取數(shù)據(jù)(單純的dns過程)。而有了cdn之后,用戶根據(jù)自己的地理位置會選擇距離自己最近的緩存數(shù)據(jù)中心來獲取數(shù)據(jù)。不會每次都到源站(應(yīng)用服務(wù)器)來獲取數(shù)據(jù)。為了理解這個過程,我們是如果在完整的dns過程中,實現(xiàn)cdn的呢?
接下來我們需要回答兩個問題。
1.cdn帶來了什么好處。
2.如何解析到cdn。
cdn帶來的好處
了解一個東西之前最好知道它能干什么,帶來的好處是什么。然后我們再去看它的運行原理。對于cdn有以下幾個方面的好處。
提高頁面加載速度
這是最顯而易見的一個優(yōu)勢,通過上面的圖,大家也可以直觀感受下,用戶訪問距離自己最近的機器,速度肯定是最快的。并且網(wǎng)站的加載速度越快那么用戶體驗越優(yōu)秀,你的網(wǎng)站更會受到對應(yīng)用戶的喜愛。至于如何實現(xiàn)就近訪問的,后面原理部分介紹。
增加內(nèi)容的冗余
cdn是一個典型的分布式架構(gòu),它通過增加數(shù)據(jù)的冗余,一方面保障在大流量面前有多臺服務(wù)器能夠提供相同的數(shù)據(jù);另一方面當(dāng)部分機器出現(xiàn)故障時,可以進行故障轉(zhuǎn)移。
節(jié)省帶寬
如果大家自己買過云服務(wù)就知道,帶寬每增加一點價格就飆升。使用cdn后,由于流量被分流了,那么原機器帶寬要求自然就降低了。當(dāng)然帶寬費用降低了,你還需要為cdn付費。
保障服務(wù)安全
cdn可防止的攻擊:ddos攻擊,該攻擊就是通過巨大流量打滿你的帶寬,讓你喪失服務(wù)能力。那么由于cdn的存在,它將巨大的流量進行了分流。那么源站壓力自然小了。這其實也是高并發(fā)需要考慮的。
cdn目前不僅僅是只能緩存靜態(tài)的HtmL、css、Js、Video,現(xiàn)在還有能夠緩存動態(tài)接口內(nèi)容的cdn,這為我們在架構(gòu)高并發(fā)的服務(wù)時,提供了更多的手段進行選擇。
cdn工作原理
在介紹dns的時候,介紹了客戶端是如何獲取到ip地址的。那么有了cdn之后,這個過程該怎么處理呢?
cdn其實就是放在應(yīng)用服務(wù)器與用戶之間的一層緩存。所以如果使用dns的時候,返回給客戶端的是cdn機器的ip而不是應(yīng)用的ip,那么自然就走到了cdn機器上。
為了實現(xiàn)上述目的,我們會為該域名配置一個 cnAme(大家注意上面提到的cnAme與A記錄的優(yōu)先[韓國云主機]級),那么這個cnAme是最終如何解析到對應(yīng)的cdn機器呢?其實流程與dns解析是一樣的。當(dāng)發(fā)現(xiàn)一個域名設(shè)置了cnAme時,dns解析器會繼續(xù)解析這個cnAme別名(其實就是另一個域名)。對這個cnAme解析的時候會用到全局負載dns解析,它會根據(jù)訪問者的地理位置信息返回對應(yīng)的ip(cdn機器的ip)。因此客戶端實際上得到的是距離它最近的cdn機器的ip地址。
如果說用戶訪問cdn,但是cdn上沒有對應(yīng)內(nèi)容會怎么辦?此時cdn機器其實會根據(jù)自身專用的dns解析服務(wù),根據(jù)域名得到源站的ip,然后向源站發(fā)送請求獲取數(shù)據(jù),并把這些數(shù)據(jù)緩存到本地,方便后續(xù)使用;同時返回本次結(jié)果,完成本次請求的訪問。
需要說一下的是,cdn其實也是分層的。距離用戶最近的稱之為邊緣節(jié)點。而cdn的中心服務(wù)器集群被稱為二級緩存。在上面就是應(yīng)用部署的源站。一般邊緣節(jié)點沒數(shù)據(jù)就去找二級緩存,二級緩存沒數(shù)據(jù)就去找源站(被稱為回源)。
小結(jié)
關(guān)于 dns 的過程,文中是以流程介紹為主,至于更細節(jié)的依賴協(xié)議、傳輸過程都忽略了。 關(guān)于cdn也是我們經(jīng)常用到的性能提升手段,后續(xù)要寫的秒殺相關(guān)文章,就會用到它來提升性能。特別是cdn的分布式設(shè)計、解析過程在我們平常設(shè)計應(yīng)用架構(gòu)時非常有參考意義。(來源微信公眾號:大愚talk)
免備案美國服務(wù)器的用途有哪些
很多使用過美國服務(wù)器的用戶可能會覺得美國距離大陸距離遠,美國主機在訪問速度上可能會有點慢,除了進行外貿(mào)網(wǎng)站的搭建外,做其他行業(yè)網(wǎng)站搭建好像沒那么好用。但事實上不是這樣的哦,美國服務(wù)器適用的范圍還是比較廣泛的哦,例如游戲平臺開發(fā),電商平臺等都是很適合的。
一、網(wǎng)絡(luò)業(yè)務(wù)拓展
美國服務(wù)器是目前海外服務(wù)器里比較主流的服務(wù)器之一,用戶選擇美國服務(wù)器除了用來做為建站使用外,還有用來進行虛擬化技術(shù)處理分割為虛擬空間,可以讓業(yè)務(wù)更好的處理。
二、電子商務(wù)平臺
美國主機是不需要備案就可以使用的,并且在性價比上還是比較高的,中小型的電商行業(yè)前期都會比較在意成本的問題,通過租用免備案的美國服務(wù)器,這樣的話不僅可以降低成本,也可以同時拓展好國內(nèi)外的業(yè)務(wù)。
三、游戲平臺
有部分私服和棋牌類游戲是無法通過網(wǎng)絡(luò)備案的,將[國外服務(wù)器]美國免備案服務(wù)器作為在線游戲服務(wù)器也是個不錯的選擇。
四、數(shù)據(jù)存儲平臺
美國主機在硬件配置上還是比較高的,安全性能上也不錯,價格上也不會太高,用于做中小企業(yè)的數(shù)據(jù)存儲平臺服務(wù)器也是不錯的。
當(dāng)然除了以上四種用途外,免備案的美國主機還有更多的使用優(yōu)勢,例如美國機房是設(shè)有直連[國外云服務(wù)器哪家好]大陸的CN2線路的,在帶寬上大多都是采用的國際帶寬等。這一系列的優(yōu)勢,都是美國服務(wù)器成為海外熱門服務(wù)器的原因哦。
YINGSOO熱線:400-630-3752
熱門文章:【英國云主機在配置上該如何選擇】【衡陽高防服務(wù)器】【vps海外服務(wù)器】【香港游戲測試服務(wù)器怎么樣】【國內(nèi)免備案服務(wù)器是怎么一回事】【外貿(mào)軟件服務(wù)器如何選擇】【新加坡游戲服務(wù)器】【IDC行情】【便宜高防服務(wù)器】【湖北武鋼大數(shù)據(jù)】【云服務(wù)器有什么好處】【游戲行業(yè)對臺灣服務(wù)器的要求有哪些】【傳奇服務(wù)器端】【云計算在醫(yī)療行業(yè)的六大重要優(yōu)勢】【站長主機】【ip租用】【Datanode節(jié)點】【站群怎么做看完別再說你不會做站群】【跨境電商】【YINGSOO云的高可用性指什么】【傳奇手游gm服務(wù)器】【韓國高速服務(wù)器租用技巧】【維護香港服務(wù)器的方法】【云主機試用三天】【物理機優(yōu)惠】【特價云服務(wù)器】【CC高防服務(wù)器】【高防主機是什么】【100M大帶寬】【共享虛擬主機不利于seo嗎】
韓國主機租用價格控制面板自主管理,5分鐘交付,KT高品質(zhì)機房,平均延遲低至80ms,2019年韓國主機租用價格銷量再度破表,1200家企業(yè)共同選擇,高達95%的續(xù)約率印證YINGSOO品質(zhì)
http://maisonbaluchon.cn/products/cloud-kr.html
美國主機30g美國vps超寬國際出口 , 一手資源 , 重裝系統(tǒng) , 10MB獨享帶寬 ,在線有重啟 , 無極網(wǎng)絡(luò) , 高速穩(wěn)定,年付8.3折優(yōu)惠
http://maisonbaluchon.cn/products/cloud-us.html
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信