高併發如何處理(架構層面)

2021-10-03 16:57:10 字數 710 閱讀 8214

高併發系統各不相同。比如每秒百萬併發的中介軟體系統、每日百億請求的閘道器系統、瞬時每秒幾十萬請求的秒殺大促系統。

他們在應對高併發的時候,因為系統各自特點的不同,所以應對架構都是不一樣的。

另外,比如電商平台中的訂單系統、商品系統、庫存系統,在高併發場景下的架構設計也是不同的,因為背後的業務場景什麼的都不一樣。

**假設剛剛開始你的系統就部署在一台機器上,背後就連線了一台資料庫,資料庫部署在一台伺服器上。

我們甚至可以再現實點,給個例子,你的系統部署的機器是 4 核 8g,資料庫伺服器是 16 核 32g。

此時假設你的系統使用者量總共就 10 萬,使用者量很少,日活使用者按照不同系統的場景有區別,我們取乙個較為客觀的比例,10% 吧,每天活躍的使用者就 1 萬。

按照 28 法則,每天高峰期算它 4 個小時,高峰期活躍的使用者佔比達到 80%,就是 8000 人活躍在 4 小時內。

然後每個人對你的系統發起的請求,我們算他每天是 20 次吧。那麼高峰期 8000 人發起的請求也才 16 萬次,平均到 4 小時內的每秒(14400 秒),每秒也就 10 次請求。

好吧!完全跟高併發搭不上邊,對不對?

然後系統層面每秒是 10 次請求,對資料庫的呼叫每次請求都會有好幾次資料庫操作的,比如做做 crud 之類的。

那麼我們取乙個一次請求對應 3 次資料庫請求吧,那這樣的話,資料庫層每秒也就 30 次請求,對不對?

按照這台資料庫伺服器的配置,支撐是絕

php如何處理大資料高併發

大資料解決方案 使用快取 使用方式 1,使用程式直接儲存到記憶體中。主要使用map,尤其concurrenthashmap。使用快取框架。常用的框架 ehcache,memcache,redis等。最關鍵的問題是 什麼時候建立快取,以及其失效機制。對於空資料的緩衝 最好用乙個特定的型別值來儲存,以區...

面試 如何處理高併發和超賣現象

5 伺服器解決效能瓶頸問題 2.超賣 成功下訂單買到商品的人數,超過資料庫最大庫存數量 a 擴容 加機器,這是最簡單的方法,通過增加前端池的整體承載量來抗峰值。b 靜態化 將頁面能夠靜態化的元素全部靜態化,並減少動態元素,通過cdn加速來抗峰值 內容分 發網路,快取伺服器 c 限流 ip限流.針對某...

高併發架構

1 高併發中一些概念 1.pv 訪問量 頁面訪問量,頁面重新整理一次算一次。2.uv 獨立訪客 即unique visitor,乙個客戶端 電腦,手機 為乙個訪客 3.dau 日活躍使用者數 登入或使用了某個產品的使用者數,這與流量統計工具裡的訪客 uv 概念相似。4.峰值qps 原理 每天80 的...