如何設計一個高并發(fā)系統(tǒng)

什么是高并發(fā)

高并發(fā)(High Concurrency)是指通過設計保證系統(tǒng)能夠同時并行處理很多請求式塌。

常用指標有:

  • QPS博敬,每秒響應請求數(shù)
  • TPS,每秒響應事務數(shù)
  • RT峰尝,響應時間偏窝,系統(tǒng)對請求做出響應的時間
  • Concurrency,并發(fā)數(shù)武学,系統(tǒng)同時能處理的請求數(shù)量
  • 吞吐量:單位時間內處理的請求數(shù)量

提高并發(fā)的思路

  • 降低 RT
  • 提高 Concurrency

如何降低 RT

  • 升級服務器和數(shù)據(jù)庫硬件配置祭往,最簡單粗暴且有效的手段,但是硬件能帶來的提升是有上限的
  • 服務端引入緩存火窒,緩存分為本地緩存和分布式緩存链沼,可顯著降低查詢接口的響應時間
  • 購買 CDN 服務,將圖片沛鸵、html括勺、css缆八、js等靜態(tài)資源上傳到 CDN,可顯著降低用戶打開頁面的響應時間
  • 業(yè)務優(yōu)化疾捍,比如流程拆分奈辰,將實時性要求低的流程寫入消息隊列進行異步處理,將互相獨立的流程并行處理乱豆;數(shù)據(jù)預加載奖恰;避免熱點數(shù)據(jù);索引優(yōu)化宛裕;JVM 優(yōu)化等

如何提高 Concurrency

  • 使用反向代理 Nginx瑟啃,可以大大的提高服務的并發(fā)數(shù),一般可以達到 10w 并發(fā)數(shù)揩尸,此時單機數(shù)據(jù)庫會出現(xiàn)瓶頸
  • 數(shù)據(jù)庫讀寫分離蛹屿,數(shù)據(jù)庫使用主從模式,對一致性要求低的查詢請求可以走從庫岩榆,分擔主庫壓力
  • 數(shù)據(jù)庫分庫分表错负,把不同業(yè)務的數(shù)據(jù)放到不同的數(shù)據(jù)庫中,如果單表數(shù)據(jù)量過大勇边,可以進行分表存儲犹撒。分庫分表可以顯著提升數(shù)據(jù)庫查詢的效率
  • 使用負載均技術 LVS/F5,此時 Nginx 已經成為瓶頸粒褒,多加一層 Nginx 會影響 RT识颊,所以一般會使用更高效的負載均衡軟件 LVS 或者硬件 F5,此時并發(fā)數(shù)可以上升到幾十萬
  • 使用 DNS 負載均衡奕坟,可以在域名下面綁定多個虛擬IP谊囚,每個虛擬 IP 指向一個機房,此時并發(fā)數(shù)已經來到百萬执赡、千萬甚至億的級別镰踏,服務入口的并發(fā)數(shù)將不在是瓶頸。

架構圖

世上沒有萬能的架構沙合,需要根據(jù)實際情況進行權衡奠伪。


image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市首懈,隨后出現(xiàn)的幾起案子绊率,更是在濱河造成了極大的恐慌,老刑警劉巖究履,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件滤否,死亡現(xiàn)場離奇詭異,居然都是意外死亡最仑,警方通過查閱死者的電腦和手機藐俺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門炊甲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人欲芹,你說我怎么就攤上這事卿啡。” “怎么了菱父?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵颈娜,是天一觀的道長。 經常有香客問我浙宜,道長官辽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任粟瞬,我火速辦了婚禮同仆,結果婚禮上,老公的妹妹穿的比我還像新娘亩钟。我一直安慰自己乓梨,他們只是感情好鳖轰,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布清酥。 她就那樣靜靜地躺著,像睡著了一般蕴侣。 火紅的嫁衣襯著肌膚如雪焰轻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天昆雀,我揣著相機與錄音辱志,去河邊找鬼。 笑死狞膘,一個胖子當著我的面吹牛揩懒,可吹牛的內容都是我干的。 我是一名探鬼主播挽封,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼已球,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了辅愿?” 一聲冷哼從身側響起智亮,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎点待,沒想到半個月后阔蛉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡癞埠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年状原,在試婚紗的時候發(fā)現(xiàn)自己被綠了聋呢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡遭笋,死狀恐怖坝冕,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情瓦呼,我是刑警寧澤喂窟,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站央串,受9級特大地震影響磨澡,放射性物質發(fā)生泄漏。R本人自食惡果不足惜质和,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一稳摄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧饲宿,春花似錦厦酬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至国夜,卻和暖如春减噪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背车吹。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工筹裕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人窄驹。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓朝卒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親乐埠。 傳聞我的和親對象是個殘疾皇子抗斤,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內容