更新時(shí)間:2021-02-14 10:39:52 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2006次
其實(shí)【高并發(fā)】的意思和【并發(fā)】的意思不止是差了一個(gè)“高”字,而是個(gè)寬泛得多的概念。【高并發(fā)】是指可以讓軟件系統(tǒng)在一段時(shí)間內(nèi)能夠處理大量的請(qǐng)求。比如每秒鐘可以完成10萬個(gè)請(qǐng)求。這是互聯(lián)網(wǎng)系統(tǒng)的一個(gè)重要的特征。
不像【并發(fā)】說的是“處理”,【并行】說的是“執(zhí)行”,【高并發(fā)】說的是最終效果。只要能達(dá)到效果,不管怎么實(shí)現(xiàn)都行。因此,極端一點(diǎn)【高并發(fā)】甚至并不一定需要【并行】,只要處理速度快的足夠滿足要求就可以。如啟動(dòng)一個(gè)nginx的【OS進(jìn)程】,它只能用到一個(gè)CPU核心,也就不可能【并行】。但是他如果能每秒能處理10萬個(gè)請(qǐng)求,而業(yè)務(wù)需求只要求8萬個(gè)請(qǐng)求就可以了,那么這個(gè)單進(jìn)程的nginx本身就算【高并發(fā)】了。
當(dāng)然,現(xiàn)實(shí)當(dāng)中【高并發(fā)】的要求會(huì)相當(dāng)“高“(雙十一都刷過吧),說的也是完整的業(yè)務(wù)流程請(qǐng)求,而非簡(jiǎn)單的HTTP轉(zhuǎn)發(fā)。這樣的系統(tǒng)大量應(yīng)用各種【并發(fā)】的集中人類智慧的各種方法,并盡可能的【并行】。
除了【并發(fā)】和【并行】,【高并發(fā)】還需要:
數(shù)據(jù)表普遍被分庫(kù)分表,否則單機(jī)放不下,或者查詢性能不足
解決分布式事務(wù)
因?yàn)闄C(jī)器都可能壞,為了保證少數(shù)機(jī)器壞掉不會(huì)影響處理的性能,必須引入HA機(jī)制
因?yàn)橄到y(tǒng)都有極限,超過極限響應(yīng)能力就會(huì)急劇下降。因此必須引入限流的方案來保護(hù)系統(tǒng)
這么復(fù)雜的系統(tǒng)會(huì)涉及到N個(gè)service,N個(gè)存儲(chǔ),N個(gè)隊(duì)列…… 這些資源的管理又成為了新的問題,這又需要對(duì)集群和服務(wù)做管理
這么多服務(wù),肯定要解決分布式的Tracing和報(bào)警問題
……
當(dāng)面試的時(shí)候提起【高并發(fā)】,大概率是希望面試者聊聊上面這些主題。但請(qǐng)?zhí)貏e特別留意,不同領(lǐng)域的【高并發(fā)】實(shí)際的意思(怎么算“高”,如何達(dá)成,哪些問題是關(guān)鍵問題)會(huì)非常不同。電商的高并發(fā),抖音的高并發(fā),12306賣火車票的高并發(fā),基金交易系統(tǒng)的高并發(fā),海量數(shù)據(jù)處理的高并發(fā),這些問題其實(shí)都很不同。所以我很建議每次都討論具體的問題,而非泛泛談?wù)摗靖卟l(fā)】這個(gè)名詞。
拓展一下,從商業(yè)上考慮【高并發(fā)】,其實(shí)際的意思是“用盡可能少的資源實(shí)現(xiàn)足夠滿足需要的并發(fā)請(qǐng)求數(shù)量,以形成競(jìng)爭(zhēng)優(yōu)勢(shì)。能用有限資源短時(shí)間內(nèi)處理大量請(qǐng)求,也就意味著:
1)單個(gè)請(qǐng)求處理成本的降低。比如傳統(tǒng)企業(yè)處理一單交易成本是10元,而互聯(lián)網(wǎng)企業(yè)壓低到了0.1元。這就形成了“規(guī)模經(jīng)濟(jì)下的低成本結(jié)構(gòu)“,是一種碾壓式的競(jìng)爭(zhēng)優(yōu)勢(shì)。
2)提高轉(zhuǎn)化效率。為了獲客,市場(chǎng)部門都會(huì)拼命做如做拼團(tuán)、發(fā)紅包的工作。假設(shè)兩家公司花同樣的預(yù)算做獲客。公司A的下單系統(tǒng)只能支持1000單/s;而B公司能做到成本不比A公司多很多的情況下實(shí)現(xiàn)10000單/s,那么過一段時(shí)間,A公司將被徹底打垮。如果你是老板,并且對(duì)用戶需求很有信息,你會(huì)玩命砸技術(shù)投入,避免系統(tǒng)成為商業(yè)閉環(huán)的瓶頸(如果發(fā)生了,真坑啊)。
這也就是為啥有些公司突然火起來,然后玩命招技術(shù)人員,我們的機(jī)會(huì)也變得多了起來的原因。在本站的多線程教程里,詳細(xì)為大家講解了各種高并發(fā)的知識(shí),想提升自己的小伙伴千萬不要錯(cuò)過哦!
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743