{{ v.name }}
{{ v.cls }}類
{{ v.price }} ¥{{ v.price }}
眾所周知,中國人口很多,人口資源相當(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)想到什么?
此外,我們還有一個叫做粉絲經(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ù)-->容器化。
輪訓(xùn),加權(quán)輪訓(xùn),ip_hash(一致性哈希),url_hash,最小連接數(shù)
負(fù)載均衡分為7層負(fù)載和4層負(fù)載
以上這些其實本質(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ā)的過程中也要多考慮。咱們先來簡單看一下:
圖片
七層模型其實就是一些協(xié)議的定義和劃分,每一層所執(zhí)行的功能不同,對應(yīng)的協(xié)議也不同,而且我們可以把他們再進行合并,如下圖,分成4層或5層或7層其實都行。
圖片
每一層的只能都是不同的,如下:
圖片
圖片
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吧。
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吧。