日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747


如何應對高并發

 

什么是高并發


高并發是互聯網分布式系統架構設計中必須考慮的因素之一,它通常是指,通過設計保證系統能夠同時處理很多請求。高并發相關的一些指標有響應時間、吞吐量、每秒查詢率QPS、并發用戶數等。

  • 響應時間: 系統對請求做出響應的時間。例如系統處理一個HTTP請求需要200ms,這個200ms就是系統的響應時間。
  • 吞吐量: 單位時間內(年月日時分秒)處理的請求數量。
  • QPS: 每秒響應請求數。
  • 并發用戶數: 同時承載正常使用系統功能的用戶數量。例如一個即時通訊系統,同時在線量一定程度上代表了系統的并發用戶數。

如何提升系統的并發能力


互聯網分布式架構設計,提高系統并發能力的方式,方法論上主要有兩種:垂直擴展(Scale Up),水平擴展(Scale Out)

垂直擴展

提升單機處理能力。垂直擴展的方式又分為兩種:

  • 增強單機硬件性能。例如:增加CPU核數如32核,升級更好的網卡如萬兆,升級更好的硬盤如SSD,擴充硬盤容量如2T,擴充系統內存如128G;
  • 提升單機架構性能。例如:使用Cache來減少IO次數,使用異步來增加單服務吞吐量,使用無鎖數據結構來減少響應時間;

水平擴展

只要增加服務器數量,就能線性擴充系統性能。水平擴展對系統架構設計是有要求的。

典型的互聯網封層架構

如何應對高并發

 

  • 客戶端層: 典型調用方是瀏覽器或手機App
  • 反向代理層: 系統入口(Ingress)、反向代理(Nginx)
  • 站點應用層: 實現核心應用邏輯,返回html、JSON
  • 服務層: 微服務體現在這一層
  • 數據緩存層: 緩存加速訪問緩存
  • 數據庫層: 數據庫持久化數據存儲

水平擴展分層架構


反向代理層的水平擴展

如何應對高并發

 

反向代理層的水平擴展,是通過DNS輪詢實現的:DNS Server對于一個域名配置了多個解析IP,每次DNS解析請求來訪問DNS Server,會輪詢這些IP。

當Nginx成為瓶頸的時候,只要添加服務器的數量,新增Nginx服務器的部署,增加一個外網IP,就能擴展反向代理層的性能,做到理論上的無限高并發。

站點應用層的水平擴展

如何應對高并發

 

站點層的水平擴展,是通過Nginx實現的。通過修改nginx.conf,可以設置多個Web后端。

當Web后端成為瓶頸時,只要增加服務器的數量,新增Web服務器的部署,在Nginx配置中配置上新的web后端,就能擴展站點層的性能,做到理論上的無限高并發。

服務層的水平擴展

如何應對高并發

 


如何應對高并發

 

數據層的水平擴展

在數據量很大的情況下,數據層(緩存,數據庫)涉及數據的水平擴展,將原本存儲于一臺服務器的上的數據水平拆分到不同服務器上,已達到擴充系統性能的目的。

按照范圍水平拆分

如何應對高并發

 


如何應對高并發

 

按照哈希水平拆分

如何應對高并發

 


如何應對高并發

 

水平拆分與主從同步

這里需要注意的是,通過水平拆分來擴充系統性能,與主從同步讀寫分離來擴充數據庫性能的方式有本質的不同

如何應對高并發

 

注意: 緩存層的水平拆分和數據庫層的水平拆分類似,也是以范圍拆分和哈希拆分的方式居多

分享到:
標簽:并發
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定