日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
高并發(fā)架構(gòu)設(shè)計(jì)(一)—設(shè)計(jì)一個高并發(fā)系統(tǒng)的關(guān)鍵點(diǎn)

[[396453]]

一、為啥會有高并發(fā)

現(xiàn)在用互聯(lián)網(wǎng)的人越來越多,很多app、網(wǎng)站、系統(tǒng)承載的都是高并發(fā)請求,可能高峰期每秒并發(fā)量幾千,很正常的。尤其是電商App,如果是雙十一之類的,每秒并發(fā)幾萬幾十萬都有可能,高并發(fā)訪問帶來的問題是系統(tǒng)和數(shù)據(jù)庫扛不住,容易宕機(jī),要知道數(shù)據(jù)庫支撐到每秒并發(fā)兩三千的時候,基本就快完了,數(shù)據(jù)庫如果瞬間承載每秒5000,8000,甚至上萬的并發(fā),一定會宕機(jī),比如mysql就壓根兒扛不住這么高的并發(fā)量。

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)、做網(wǎng)站與策劃設(shè)計(jì),景谷網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:景谷等地區(qū)。景谷做網(wǎng)站價格咨詢:028-86922220

那么如此之高的并發(fā)量,加上原本就如此之復(fù)雜的業(yè)務(wù),我們該如何設(shè)計(jì)一個可以支持高并發(fā)訪問的系統(tǒng)呢,主要從以下幾點(diǎn)去考慮:

  • 系統(tǒng)拆分
  • 使用緩存
  • 引入MQ
  • 分庫分表
  • 讀寫分離

二、設(shè)計(jì)高并發(fā)系統(tǒng)的關(guān)鍵點(diǎn)

2.1、系統(tǒng)拆分

將一個大的系統(tǒng)拆分為基于微服務(wù)架構(gòu)的多個子系統(tǒng),技術(shù)落地選擇使用SpringCloud來做,然后每個子系統(tǒng)連一個數(shù)據(jù)庫,這樣本來就一個庫,現(xiàn)在多個數(shù)據(jù)庫,這樣也可以扛高并發(fā)。

2.2、使用緩存

緩存,一定要用緩存。大部分的高并發(fā)場景,都是讀多寫少,我們完全可以在數(shù)據(jù)庫和緩存里都寫一份,然后讀的時候大量走緩存,可以引入Redis作為分布式緩存的技術(shù)解決方案,redis單機(jī)就支持每秒幾萬的并發(fā),在集群情況下更是可以達(dá)到每秒幾十萬的并發(fā)。所以我們要考慮項(xiàng)目里那些承載主要請求的讀場景,怎么用緩存來抗高并發(fā),同時也得處理好【緩存雪崩】、【緩存穿透】、【緩存擊穿】這些問題

2.3、引入MQ

MQ,一定得用上MQ。因?yàn)橄到y(tǒng)還是會出現(xiàn)高并發(fā)寫的場景,比如說一個業(yè)務(wù)操作里要頻繁搞數(shù)據(jù)庫幾十次,增刪改增刪改,那高并發(fā)訪問的情況下絕對搞掛數(shù)據(jù)庫,這個時候就可以考慮用MQ去削峰,將大量的寫請求先灌入MQ里,排隊(duì)慢慢玩兒,后邊系統(tǒng)消費(fèi)后慢慢寫,控制在數(shù)據(jù)庫承載范圍之內(nèi)。所以我們要考慮項(xiàng)目里那些承載復(fù)雜寫業(yè)務(wù)邏輯的場景里,如何用MQ來異步寫,提升并發(fā)性。MQ單機(jī)可以扛得起幾萬并發(fā)。MQ的技術(shù)選型可以選擇用rabbitMq或者Kafka。當(dāng)然了,系統(tǒng)引入MQ之后,也會導(dǎo)致整個系統(tǒng)的可用性降低,系統(tǒng)復(fù)雜度提高,系統(tǒng)引入的外部依賴越多,越容易掛掉。所以引入MQ后,要考慮【如何保證消息隊(duì)列的高可用】、【如何保證消息沒有重復(fù)消費(fèi)】、【如何處理消息丟失的情況】、【如何保證消息傳遞的順序性】等問題,引入MQ有很多好處,但是也得針對它帶來的壞處做各種額外的技術(shù)方案和架構(gòu)來規(guī)避掉。

2.4、分庫分表

分庫分表,可能到了最后數(shù)據(jù)庫層面還是免不了抗高并發(fā)的要求,那么就將一個數(shù)據(jù)庫拆分為多個庫,多個庫來扛更高的并發(fā);然后將一個表拆分為多個表,每個表的數(shù)據(jù)量保持在一定范圍內(nèi),提高sql跑的性能。推薦使用ShardingSphere作為分庫分表的技術(shù)解決方案

2.5、讀寫分離

讀寫分離,這個就是說大部分時候數(shù)據(jù)庫可能也是讀多寫少,沒必要所有請求都集中在一個庫上,可以搞個主從架構(gòu),主庫寫入,從庫讀取,搞一個讀寫分離。讀流量太多的時候,還可以加更多的從庫。


新聞名稱:高并發(fā)架構(gòu)設(shè)計(jì)(一)—設(shè)計(jì)一個高并發(fā)系統(tǒng)的關(guān)鍵點(diǎn)
網(wǎng)址分享:http://www.5511xx.com/article/dhiidpd.html