我們一起聊聊分布式與網(wǎng)絡(luò)原理

閱讀:521 2023-11-08 23:44:02

并發(fā)是怎么出現(xiàn)的

眾所周知,中國人口很多,人口資源相當(dāng)豐富,十幾億人口。現(xiàn)如今的互聯(lián)網(wǎng)/移動互聯(lián)網(wǎng)發(fā)展的也很龐大,就因為人多,在大家都在使用一個app的時候,就會造成擁堵的現(xiàn)象,就跟超市一樣,人多必然會擁擠,東西少,你需要搶購,你慢了一拍,就買不到,你遇到過早上大爺大媽搶著買雞蛋的場景吧?而且結(jié)賬速度也會比平時更慢,甚至還會出現(xiàn)限購的現(xiàn)象。這其實和互聯(lián)網(wǎng)環(huán)境中的高并發(fā)道理是一樣的。

 

 

相反,有些國家的人口基數(shù)本來就少,幾千萬吧,和我們沒法比,他們那邊的擁堵現(xiàn)象會好一些,但是畢竟人少。人多資源多,相應(yīng)的,我們這的大數(shù)據(jù)發(fā)展很快,人多了,用戶畫像分析啊,用戶行為分析啊,就更好做。人家國家就只有幾千萬,活躍用戶可能百來萬,大數(shù)據(jù)玩不溜。

 

人多人少有啥區(qū)別?消費啊,一個國家人口那么多,那么資源開發(fā)就更多,如果有一定的手段,你可以撬動他們來消費,我一個電商平臺,做好運營/營銷/推廣,吸引用戶多了,市場份額上來了,消費就上來了。如果你一個電商在一個人口少的國家去推廣,市場就那么點大,消費水平上不來呀,人多人少沒法比啊對吧~ 老鐵。所以,大家會很容易會聯(lián)想到什么?

 

  1. 明星結(jié)婚,微博癱瘓了
  2. 春運,12306 掛了,或者搶不到票
  3. 等等這些都是人多所出現(xiàn)的必然現(xiàn)象。

此外,我們還有一個叫做粉絲經(jīng)濟,現(xiàn)如今,人人都是自媒體,只要你的流量大,粉絲多,你就能賺錢,就比如李佳琪啊羅胖呀,對吧。直播買東西就是推廣產(chǎn)品的一中手段,如此一來,就能撬動大家的購買欲望,向電商平臺輸送流量。

 

這個時候,直播間里的用戶會有一部分進入到電商平臺購物。那么流量比例大概多少?一般來說都是28或者37原則,20%的用戶會進來,甚至?xí)僖恍僭O(shè)有1000萬用戶,那么這個時候涌入的流量就是200萬,那你平臺能吃得消不?并發(fā)支撐夠不夠?有沒有負(fù)載均衡,高并發(fā)處理行不行,有沒有做高可用,這些都要考慮,并且也都和網(wǎng)絡(luò)相關(guān)。所以要支持用戶量,要想公司賺大錢,技術(shù)要和業(yè)務(wù)貼合,整體系統(tǒng)的并發(fā)與高可用以及穩(wěn)定性,都要保證。如果因為某一個短板效應(yīng)出現(xiàn)問題,那么用戶的流失會很慘重,對平臺與企業(yè)造成的影響是巨大的,除非是12306,用戶必須用,否則,用戶流量會分發(fā)的其他不同的渠道與電商平臺。

 

所以,由技術(shù)來拉動市場,來穩(wěn)定用戶的。并發(fā)場景無處不在,那么這整個過程其實也是貼分布式系統(tǒng)的架構(gòu)發(fā)展的。比如如下:

單體-->分布式-->集群高可用-->高并發(fā)-->微服務(wù)-->容器化。

 

分布式架構(gòu)演變

 

負(fù)載均衡

輪訓(xùn),加權(quán)輪訓(xùn),ip_hash(一致性哈希),url_hash,最小連接數(shù)

負(fù)載均衡分為7層負(fù)載和4層負(fù)載

 

OSI網(wǎng)絡(luò)模型原理

以上這些其實本質(zhì)上都是基于網(wǎng)絡(luò),有了網(wǎng)絡(luò)才能交互,網(wǎng)絡(luò)通信和我們的生活息息相關(guān)。那么說到網(wǎng)絡(luò)通信,咱們就得來聊一聊七層模型了,這個其實也是網(wǎng)絡(luò)基礎(chǔ),很多小伙伴們在接觸nginx以及集群啊啥的有點混亂,這其實本身就是比較偏網(wǎng)絡(luò)的,這邊我們就來一起聊一下。

 

人和人之間面對面對話溝通通過講話,打電話通過電話走電話線,那么如果這兩個人在計算機(或者手機)屏幕的兩邊溝通,那么就是用戶A和計算機交互,然后計算機和用戶B交互,達到溝通的目的。其實不論是人機交互還是計算機之間(機機)交互,那么都會有一個通信的過程。

 

通信就會涉及到計算機網(wǎng)絡(luò),和網(wǎng)絡(luò)相關(guān)。我記得在我大學(xué)那會這個就是必考知識點。這里就會涉及到OSI七層網(wǎng)絡(luò)模型。

圖片圖片

 

 

 

什么是OSI,可以把它當(dāng)做是一種規(guī)范,計算機之間的通信,數(shù)據(jù)交互,要符合OSI標(biāo)準(zhǔn)才能夠把數(shù)據(jù)從一端發(fā)到另外一端,從而讓另外一個用戶看到,如此以來達到交互。而且分層了,那么每一層的目的就更加明確了,做什么事由自己那一層決定,就跟MVC一樣,各司其職,解耦。并且對于每一層的開發(fā)人員來講,更加專注了,不同的開發(fā)人員維護不同層面的東西,不會耦合在一起。所以,分層解耦無處不在,在開發(fā)的過程中也要多考慮。咱們先來簡單看一下:

 

圖片圖片

 

 

  1. 應(yīng)用層(7層):如上圖,兩個用戶通過qq或者微信溝通,他們依賴于計算機或者智能手機。那么應(yīng)用軟件就是第一層,也就是應(yīng)用層這一層里的,這一層會規(guī)定http協(xié)議,數(shù)據(jù)格式等,供調(diào)用,只要是一些軟件應(yīng)用程序,他們都是基于應(yīng)用層的,也就是和人最直接溝通的一個媒介,也就是軟件,qq/微信/瀏覽器/idea/eclipse這些都是。
  2. 表示層(6層):協(xié)議啊,字符串的表示,加密
  3. 會話層(5層):session建立與保持,建立和管理應(yīng)用程序之間的通信
  4. 傳輸控制層(4層):如何建立連接,如何數(shù)據(jù)傳輸,數(shù)據(jù)處理傳輸OK還是失敗
  5. 網(wǎng)絡(luò)層(3層):數(shù)據(jù)路由,如何找到哪個節(jié)點去處理的,數(shù)據(jù)如何通信,怎么發(fā)的
  6. 數(shù)據(jù)鏈路層(2層):通信之間的協(xié)議是啥,怎么發(fā)出去
  7. 物理層(1層):物理傳輸設(shè)備,比如wifi,2g/3g/4g,網(wǎng)線等看得見摸得著的。

 

七層模型(協(xié)議)歸類合并

七層模型其實就是一些協(xié)議的定義和劃分,每一層所執(zhí)行的功能不同,對應(yīng)的協(xié)議也不同,而且我們可以把他們再進行合并,如下圖,分成4層或5層或7層其實都行。

圖片圖片

 

每一層的只能都是不同的,如下:

  1. 物理層:物理傳輸設(shè)備,比如wifi,2g/3g/4g,網(wǎng)線等看得見摸得著的。當(dāng)你和朋友微信聊天的時候,你用計算機插網(wǎng)線,你朋友用手機連接wifi,這些都是屬于物理層的。打電話也一樣,需要有電話線。
  2. 那么計算機之間的傳輸通過物理層,傳輸?shù)臅r候以什么形式傳輸呢?都是一些二進制數(shù)據(jù),1010001001這樣的。
  3. 數(shù)據(jù)鏈路層:當(dāng)計算機接收到1010001這些二進制的時候,這玩意本身很長,需要去進行解析的,所以他們其實是可以通過8位一組來進行劃分,每組都是8位的話那么就可以進行數(shù)據(jù)運算和處理。那么每組8位(或者16位/64位),這活誰干呢?它是由鏈路層來劃分的,物理層干不了,職能不夠。
  4. 鏈路層處理的規(guī)范協(xié)議為以太網(wǎng)協(xié)議,他是一個標(biāo)準(zhǔn),也是規(guī)范,因為早期的時候很多公司都是對二進制數(shù)據(jù)進行不同的分組,能用,但是太亂了,為了更加規(guī)范,采用了以太網(wǎng)協(xié)議Ethernet。
  5. 計算機通信會發(fā)出數(shù)據(jù)包,數(shù)據(jù)包包含head和data兩個部分。
  6. head包含發(fā)送者,接受者以及數(shù)據(jù)類型(源mac地址,目標(biāo)mac地址)
  7. data包含數(shù)據(jù)包的具體內(nèi)容數(shù)據(jù)
  8. 和rest請求很像吧?: - )
  9. 數(shù)據(jù)發(fā)送的時候是head和data一起發(fā)的,有一定的長度限制,具體我忘了。如果太長了,會進行分片發(fā)送,也就是切割,啥是分片,自己百度,之前講過很多了。
  10. 那么這個數(shù)據(jù)包其實和你平時打電話是一樣的道理,呼叫者是數(shù)據(jù)發(fā)送者,被叫者是數(shù)據(jù)接受者,談話內(nèi)容就是data數(shù)據(jù)包,對吧。
  11. 附帶一提,計算機里的地址,和每個人的手機號是一樣的,叫做mac地址,和你的網(wǎng)卡相關(guān)。
  12. 關(guān)于mac地址:之前提到了以太網(wǎng)協(xié)議Ethernet,這玩意也規(guī)定了要在互聯(lián)網(wǎng)上通信,必須得有一個mac地址,而mac地址存在于網(wǎng)卡,所以有了網(wǎng)卡才能上網(wǎng),每一個網(wǎng)卡對應(yīng)一個mac地址(知識點啊,這個我們在架構(gòu)師課程里的Keepalived以及LVS里說過,虛擬IP通過虛擬機里的網(wǎng)卡才能虛擬化出新的VIP),和你的手機卡也一樣,你要打電話,得買一個手機卡,每一個手機卡里有唯一的一個手機號碼,通過手機號碼才能進行呼叫和被叫,ok吧。
  13. 所以,這一層的鏈路層,他就是主要來定義數(shù)據(jù)的格式化傳輸?shù)模欢藗鞒鋈ィ硪欢私邮苓M來分組解析。
  14. 網(wǎng)絡(luò)層:這一層其實定義了IP協(xié)議,他有一個網(wǎng)關(guān)的概念,說到網(wǎng)卡大家會想到什么?nginx?zuul?gateway?那么他們是不是都會處于某個計算機節(jié)點上?他們都會有一個ip,那么其實當(dāng)計算機數(shù)據(jù)發(fā)出去的時候,會經(jīng)過網(wǎng)關(guān),接受的時候,也會經(jīng)過網(wǎng)關(guān),相當(dāng)于他是一個中介,通俗點講,你打電話的時候,要通過運營商吧,從電話呼出去,到接收通過,中間的過程由運營商來幫你處理,這個時候的運營商你可以認(rèn)為是一個網(wǎng)關(guān)(也是起到了數(shù)據(jù)路由的作用),他是存在于某一個地址的,也就是IP地址,那么每個區(qū)域都有不同的運營商,不同的運營商管著不同的歸屬地,那么你可以把區(qū)域(歸屬地)理解為局域網(wǎng),而手機就是每一個mac地址,同一個區(qū)域的局域網(wǎng)的ip都是一樣的,而手機號對應(yīng)的mac地址則不一樣,對吧。看一下下面的圖來理解一下(加餐)

圖片圖片

圖片圖片

 

4. 傳輸層:建立端口與端口之間的通信。什么意思呢,就是說呢,我們可以通過ip與mac地址找到對應(yīng)的目標(biāo)計算機節(jié)點,那么假設(shè)我們現(xiàn)在通過微信或者qq聊天,這個時候數(shù)據(jù)傳輸?shù)綄Ψ降挠嬎銠C了,那么對方的qq或者微信如何來接受你的數(shù)據(jù)呢?或者說如何把數(shù)據(jù)交給微信qq來展示給用戶?這個時候就有端口的概念了,每個應(yīng)用程序都會有一個端口,一個應(yīng)用程序要多開,那么端口號肯定不一樣,原理同tomcat。每個端口都會和網(wǎng)卡產(chǎn)生關(guān)聯(lián),我們在進行計算機交互的時候都會攜帶端口,比如8080,如此一來,那么對應(yīng)的對方的應(yīng)用程序才會接受到數(shù)據(jù)并且展示。ok吧。

  • 比如還是以打電話為例,很多時候光打電話沒用,對方?jīng)]人接聽,你需要再最后加上分機號,那么8080就比方說是分機號,可以打給人事,8088可以打給老板小蜜,那么端口就是這個意思。
  • 傳輸層的協(xié)議為TCP何UDP,LVS屬于傳輸層,他是4層負(fù)載均衡。

5. 應(yīng)用層:應(yīng)用層+表示層+會話層可以共同定義為應(yīng)用層。用戶所使用的所有的應(yīng)用程序都是基于應(yīng)用層,就比如qq,微信,瀏覽器,idea,eclipse都是,這是電腦與人最直觀的交互。每個應(yīng)用程序都可以有自己的不同的數(shù)據(jù)格式,數(shù)據(jù)組成形式,那么應(yīng)用層就是規(guī)定了應(yīng)用程序的數(shù)據(jù)格式。比如qq/微信/郵箱/瀏覽器,這些應(yīng)用程序的數(shù)據(jù)傳輸?shù)臅r候,協(xié)議都是不同的,數(shù)據(jù)格式也都是不同的,協(xié)議的不同在表示層 進行規(guī)范。會話層是建立在傳輸層之上的,和我們所說的session道理一致,用于維護兩點之間的通信的,也就是建立和管理應(yīng)用程序之間的通信,如果我電腦重啟了,再次打開軟件需要重新建立連接,也就是重新建立會話,OK吧。

相關(guān)文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感興趣
推薦閱讀 更多>
推薦商標(biāo)

{{ v.name }}

{{ v.cls }}類

立即購買 聯(lián)系客服
主站蜘蛛池模板: 亚洲国产一二三精品无码| 一夲道无码人妻精品一区二区| 99久久人妻无码精品系列| 人妻丰满熟妇AV无码区HD| 特级做A爰片毛片免费看无码| 内射无码专区久久亚洲| 亚洲Av无码专区国产乱码DVD| 亚洲GV天堂GV无码男同 | 精品无码成人片一区二区| 好硬~好爽~别进去~动态图, 69式真人无码视频免 | 亚洲av中文无码| 亚洲私人无码综合久久网| 国产在线无码视频一区二区三区 | 乱色精品无码一区二区国产盗 | 无码A级毛片免费视频内谢| 用舌头去添高潮无码视频| 91精品久久久久久无码| 国产在线无码视频一区二区三区| 无码人妻少妇久久中文字幕| 人妻无码αv中文字幕久久琪琪布 人妻无码第一区二区三区 | 人妻丰满熟妇AV无码区| 乱人伦中文无码视频在线观看| 久久久久亚洲?V成人无码| 无码人妻精品一区二区三区9厂| 无码精品人妻一区二区三区漫画| 亚洲av麻豆aⅴ无码电影| 亚洲综合一区无码精品| 亚洲国产日产无码精品| 亚洲第一极品精品无码久久| 日韩av无码中文无码电影| 亚洲中文字幕无码专区| 国产在线无码制服丝袜无码| 无码爆乳护士让我爽| 亚洲AV无码国产精品色| 日韩av无码中文字幕| 精品国精品无码自拍自在线| 97性无码区免费| 无码人妻精品一区二区三区久久久 | 亚洲av成本人无码网站| 亚洲av无码一区二区三区人妖| 亚洲综合久久精品无码色欲|