精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

應對「高并發」的思路

開發 架構
高并發意味著大流量,需要運用技術手段抵抗流量的沖擊。這些手段的效果好比你可以操縱流量,讓流量可以乖乖地按照你的期望、更平穩地被系統所處理,帶給用戶更好的體驗。對,就和大禹治水那樣。

 

本文轉載自微信公眾號「跨界架構師」,作者Zachary。轉載本文請聯系跨界架構師公眾號。

大家好,我是Z哥。

最近正好在編寫一套新的面試題,其中有一道是與高并發相關的。出題的目的是想了解一下候選人面對大流量場景下的優化思路。在出這道題的過程中,我自己也梳理了一下自己對這個問題的思路。

然后之所以想在這里分享出來,是因為這是我這些年經過實戰所得出的躺著“血汗”的經驗,所以我覺得這可能對很多讀者都有所幫助。

不過丑話說在前面,我的思路并不是完美的,畢竟條條大路通羅馬,解決「高并發」的思路也有很多種。所以歡迎大家在評論區分享你的看法。

/01 高并發的定義/

首先,高并發的定義是什么?

高并發意味著大流量,需要運用技術手段抵抗流量的沖擊。這些手段的效果好比你可以操縱流量,讓流量可以乖乖地按照你的期望、更平穩地被系統所處理,帶給用戶更好的體驗。對,就和大禹治水那樣。

我想,幾乎每個程序員心里都有過一個疑問,達到多少QPS或者TPS才算是高并發?

其實,這個問題無法單純地通過一個統一標準的數字來判斷。因為不同的業務所對應的復雜度不同,不能一概而論。

我自己用的評判標準是,當一個運行正常的系統在沒有刻意優化性能的情況下,出現了性能問題,說明他開始進入到高并發的范圍了。

對,就是這么簡單粗暴,沒有具體的數字。

但是在高并發是常態的場景中,一般都會有一個監控系統,會持續觀察至少以下這幾個指標是否正常。

  • TPS。每秒事務處理量,這里的事務是指一個客戶機向服務器發送請求然后服務器做出反應的過程。(以客戶端為視角)
  • QPS。每秒查詢率,可以通過并發量 / 平均響應時間計算得出。(以服務端為視角,一個TPS可能會對應多個QPS)
  • 并發用戶數。系統可以同時承載的正常使用系統功能的用戶的數量。
  • 響應時間。很多時候也叫RT,是指系統對請求作出響應的時間。
  • 帶寬。如果是一個數據傳輸量比較大的業務,還需要考慮帶寬問題,比如視頻、音頻類應用程序。

如果你連這些指標的含義都不是很清楚,那就多讀幾遍,先搞清楚它們,否則你的高并發是閉著眼睛在做。

/02 應對高并發的思路/

很多缺乏經驗的小伙伴,遇到高并發問題,不管三七二十一,上來就懟緩存。

用緩存是沒錯的,但是緩存也不是靈丹妙藥,在哪里都適合。畢竟,緩存是「有狀態」的,在軟件開發中,處理「有狀態」的東西總是比「無狀態」的麻煩得多,因為存在數據一致性的問題需要考慮。

我建議你按照以下三個步驟來考慮這個問題。

01 梳理請求流轉鏈路

梳理好了請求流轉的鏈路,就好比你手里有了一張“作戰地圖”,你可以更加直觀、準確地進行排兵布陣。

畢竟軟件開發本身就是一個工程的問題,我們不能憑感覺,拍腦袋去做事。解決高并發問題自然也不例外。

02 確定目標

有一句話說得好,“沒有最好,只有更好”。如果不先確定目標,這件事將會變成對性能無止境地追求。而過度的高性能,不但不會產生額外的收益,反而是對投入成本的浪費,畢竟資源是有代價的,而且是有限的。

我建議你將具體的數值目標細化到每一個 API 上。比如我一般會先確定整個業務線的 TPS 要達到多少。例如,下單的 TPS 要達到100。

接下來,我會根據前面梳理好的鏈路圖,得到其中會涉及到哪些 Service ,哪些 API ,有哪些 API 還會被不同的 Service 多次調用的。

然后會根據鏈路中 API 被調用的先后順序(一般越上游的 API 定的數值要適當放大)以及會被重復調用的次數,得到每個 API 的 QPS 目標。比如,

  • 獲取購物車列表,存在兩次調用,QPS = 200。
  • 批量獲取商品庫存,存在三次調用,QPS = 300。
  • 獲取會員信息,存在一次調用,QPS = 100。
  • ……

照著這個思路,把所有業務線中會涉及到的 API 的 QPS 都確定好,然后將相同 API 的 QPS 數值相加,就能得到在整個系統層面每個 API 的理想 QPS 數值(相當于是在各條業務線都達到預估峰值的情況下)。比如,

  • 獲取購物車列表,出現在三個業務線,QPS = 200 + 500 + 100 = 800。
  • 批量獲取商品庫存,出現在兩個業務線,QPS = 300 + 200 = 500。
  • 獲取會員信息,出現在兩個業務線,QPS = 100 + 200 = 300。
  • ……

當然了,實際制定的目標除了 QPS 以外,還有其它指標,上面只是舉個例子。

另外,需要額外注意的是,要關注 TP90、TP99 的「響應時間」。因為就算平均響應時間達標了,也不代表整個系統很穩定。因為可能存在80%的請求響應速度特別快,把平均值拉低了,但是同時還存在大量的耗時特別嚴重的請求。我慣用的經驗是,如果TP99超過了平均值的一倍,就需要引起重視了,因為這意味著某個地方存在著明顯的性能瓶頸。

03 制定具體的優化方案

其實具體的優化方案有很多種,要根據實際的情況來選擇。不過具體怎么選擇,還是需要你有全局視野。因為整個系統是一體的,通過相互配合形成合力,可以大大降低優化的難度。比如,選擇某個優化方案后,上游的 API 能扛掉90%的流量不往下游請求,那么下游 API 的 QPS 目標也可以適當降低了。

以下就是我綜合復雜度和成本所排列的具體方案,從簡單到復雜。

  1. 先在代碼層面做優化,比如代碼性能,多線程,請求合并,池化(連接池、線程池、對象池等等)。
  2. 能升級硬件的就升級硬件。
  3. 能用緩存解決的堅決不做系統拆分。并且,緩存盡可能做到上游。比如, cdn >頁面> api > service 。
  4. 如果在數據處理上產生瓶頸,那么優先考慮業務上是否接受異步,如果接受,那么用 MQ 來削峰填谷?;蛘呦蘖鹘导?。
  5. 如果 MQ 也不頂用,是整體吞吐量上的瓶頸的話,只要不是寫數據的瓶頸,盡量通過程序拆分而不是數據庫拆分來解決問題。(此時需要引入服務治理,另外,會存在一致性問題,數據合并問題要解決)
  6. 非得動到數據層面的話,優先考慮數據庫讀寫分離,而不是直接拆分數據。
  7. 實在迫不得已需要拆分數據,優先考慮根據業務垂直拆分,而不是水平拆分。(水平拆分的數據合并代價會比垂直拆分更大)
  8. 最后才是數據庫水平拆分,支持無限擴容,一勞永逸。

你看,雖然方案有很多,但是你也能觀察到一些規律:越在上游解決問題,成本越低。所以,以漏斗思維來做全局的考慮是最適合不過的。從客戶端請求到接入層,到邏輯層,到 DB 層,層層遞減,過濾掉請求,哪怕是出現異常也要 Fail Fast(要失敗也要盡早返回)。

/03 落地/

真正落地的時候,涉及到的具體技術細節就多了,負載均衡啊、緩存啊、消息隊列啊、分庫分表啊等等。我這里就不展開了,每一點展開都要寫好多。有興趣的小伙伴可以移步我之前寫的分布式系統系列文章——《8個月打磨,一份送給程序員的「分布式系統」合集》

其實,真正要把高并發當作一個系統化的事情來看待,視野不能僅僅局限在「性能」這一個維度上,還至少需要考慮「可用性」和「擴展性」這兩個方面。

可用性就是系統可以正常服務的時間。一個雖然訪問速度沒那么快,但是全年不停機、無故障;另一個雖然訪問速度很快,但是隔三差五出現上事故、宕機,用戶肯定選擇前者。

擴展性表示系統的快速擴展能力,當遇到突發的大流量沖擊時,能否在短時間內完成擴容,以承接這部分流量。比如,雙11活動、明星熱搜等場景。畢竟,我們不可能準確地預測未來的流量一定在什么范圍內,也更加不可能隨時為它準備著大量冗余的資源。

所以,這三個目標是需要通盤考慮的,因為它們互相關聯、甚至相互影響。

比如,當你考慮系統擴展能力的時候,你會將服務設計成無狀態的,這種設計其實不但提高了可擴展性,其實也間接提升了系統的性能和可用性,因為你可以隨時橫向擴展。

再比如,為了提高可用性,通常會對服務接口進行超時設置,以防大量線程阻塞在慢請求上造成系統雪崩。具體超時時間的設置成多少,參考的就是 API 的性能表現。

好了,總結一下。

這篇呢Z哥和你分享了我對高并發問題的處理思路。

按照以下三個步驟進行。

梳理請求流轉鏈路

確定目標

制定具體的優化方案

其中的第2和3點在文中給了很多實操細節,這里就不一一羅列了。

希望對你有所幫助。

業務都是從0到1做起來的,在業務量逐漸變成原來的10倍、100倍的過程中,你是否用到了高并發的處理思路去演進你的系統,從架構設計、編碼實現、甚至產品方案等維度去預防和解決高并發的問題?

 

責任編輯:武曉燕 來源: 跨界架構師
相關推薦

2024-07-03 11:01:55

2016-11-10 18:57:19

雙十一高并發

2023-11-03 08:32:53

Flask高并發

2024-10-08 11:21:11

2023-12-12 09:06:06

2024-03-28 08:41:10

高并發.NET異步編程

2023-11-27 13:49:00

高并發應用

2023-08-26 09:20:23

2025-09-23 02:15:00

2025-01-15 08:42:41

2018-10-23 10:47:03

高并發系統緩存

2024-01-31 08:50:41

Guava并發工具

2012-02-20 10:53:34

淘寶低功耗服務器定制服務器

2019-06-28 10:55:04

預熱高并發并發高

2018-11-15 08:19:47

大流量高并發限流

2020-11-27 14:45:57

開發服務器代碼

2018-02-05 09:30:23

高性能高并發服務

2020-04-22 10:43:49

高并發數據阿里巴巴

2015-05-07 14:24:36

everRun

2016-05-30 10:06:12

用友iUAP壓力測試
點贊
收藏

51CTO技術棧公眾號

黄色片免费在线观看| 波多野结衣一区二区在线| 影音先锋欧美激情| 第一福利永久视频精品| 亚洲人久久久| 欧美天堂在线视频| 麻豆成人在线观看| 性欧美视频videos6一9| 91香蕉视频污在线观看| 国产伦精品一区二区三区免费优势 | 最新中文字幕视频| 国产精品美女久久久久人| 精品日韩中文字幕| 永久免费在线看片视频| 色在线免费视频| 国产一区不卡精品| 国产精品国模在线| 日韩特黄一级片| 久久久9色精品国产一区二区三区| 日韩av最新在线| 欧美激情第四页| 欧美日韩成人影院| 亚洲高清三级视频| 黄色一级片av| 日韩三级影院| 久久五月婷婷丁香社区| 国产精品精品软件视频| 国产精品色综合| 天堂成人国产精品一区| 国精产品一区一区三区有限在线| 国产亚洲精品久久久久久豆腐| 欧美中文一区| 精品国产一区二区三区久久久蜜月| 亚洲免费999| 性欧美1819sex性高清| 黄色精品一区二区| 我的公把我弄高潮了视频| av免费在线观看网站| 国产精品国产三级国产aⅴ无密码| 欧美另类一区| 欧洲毛片在线| 91在线码无精品| 国产一区二区不卡视频| 精品国产乱码一区二区三 | 91久久精品美女高潮| 国产在线一级片| 日韩电影在线一区二区| 国产成人精品一区二区| 天干夜夜爽爽日日日日| 午夜在线视频观看日韩17c| 韩国v欧美v日本v亚洲| 久久久久久久久久久久久久免费看 | 国产乱码精品一区二区| 精品亚洲porn| 91亚洲精品一区二区| 国产精品久久无码一三区| 精品一区二区在线视频| 欧美老肥妇做.爰bbww| 日韩视频第二页| 成人动漫一区| 日本道色综合久久| 超碰在线人人爱| 亚洲欧美一级| 日韩亚洲欧美在线| 任你躁av一区二区三区| 91午夜精品| 亚洲精品720p| 波多野结衣片子| 日韩免费看片| 久久中文字幕一区| 国产一级免费av| 亚洲精品孕妇| 日本一欧美一欧美一亚洲视频| 午夜一级黄色片| 久久99国产精品麻豆| 99国产视频在线| 午夜成人免费影院| 亚洲国产精品激情在线观看| 中文字幕一区二区三区有限公司 | 久久久久久18| 国产精品久久久久久久久久久久久久久久久 | 国产精品揄拍500视频| 国产露脸无套对白在线播放| 成人白浆超碰人人人人| 欧美午夜免费| huan性巨大欧美| 天天av天天翘天天综合网 | 日韩在线国产精品| 久久久综合久久| 视频一区欧美日韩| 99理论电影网| 国产在线播放av| 一区二区三区日韩欧美| 激情六月丁香婷婷| 不卡一区视频| 亚洲欧洲美洲在线综合| 欧美老熟妇一区二区三区| 野花国产精品入口| 成人天堂噜噜噜| 欧美日韩国产综合视频| 亚洲精品久久7777| www.欧美日本| 2020国产精品极品色在线观看| 亚洲视频在线观看免费| 久久久久亚洲av成人片| 久久精品国产久精国产爱| 国产亚洲精品自在久久| 麻豆传媒在线观看| 91高清在线观看| 亚洲av无码一区东京热久久| 日本高清免费电影一区| 91国产美女在线观看| 国产精品丝袜黑色高跟鞋| 91在线高清观看| 高清无码视频直接看| 久久精品国产亚洲a∨麻豆| 亚洲少妇30p| 中文字幕免费高| 成人影院大全| 亚洲福利精品在线| 欧美日韩精品亚洲精品| 蜜臀国产一区二区三区在线播放 | 午夜一区二区视频| 国产精品亚洲二区| 欧美性受xxxx黑人猛交| 亚洲精品国产片| 自拍偷自拍亚洲精品播放| 99视频精品免费| 视频小说一区二区| 久久免费视频网| 亚洲春色一区二区三区| 亚洲精品一卡二卡| 极品粉嫩美女露脸啪啪| 99久久99热这里只有精品| 国产成人精品一区| 狠狠狠综合7777久夜色撩人| 欧美性生交xxxxxdddd| 韩国三级hd两男一女| 黄色成人在线网址| 亚洲伊人一本大道中文字幕| 成人日日夜夜| 欧美一区二区在线免费播放| 911国产在线| 精品在线免费视频| 在线无限看免费粉色视频| 男人亚洲天堂| 中文字幕欧美专区| 亚洲视频一区二区三区四区| 亚洲国产精品国自产拍av| 蜜臀久久99精品久久久酒店新书| 久久成人高清| 国产国产精品人在线视| wwwxxx在线观看| 欧美视频第二页| 国产三级aaa| 国产一区二区看久久| 男人添女荫道口喷水视频| 91成人在线精品视频| 久久久女女女女999久久| 成人毛片视频免费看| 亚洲成a人v欧美综合天堂下载 | 高潮一区二区三区乱码| 亚洲成人免费看| 女~淫辱の触手3d动漫| 老色鬼久久亚洲一区二区| 日本一区二区三区www| 久久久加勒比| 欧美高清视频免费观看| 亚洲欧美丝袜中文综合| 日本精品视频一区二区三区| 亚洲欧美另类日本| 国产精品66部| 少妇高潮喷水在线观看| 国产一区二区三区不卡视频网站| 国产精品一区二区久久| 色呦呦在线播放| 日韩精品高清视频| 在线免费观看中文字幕| 一区二区三区欧美日韩| 美国黄色一级毛片| 另类综合日韩欧美亚洲| 久久国产午夜精品理论片最新版本| 亚洲精品国产精品粉嫩| 成人动漫网站在线观看| 国产99在线观看| 在线视频日本亚洲性| 亚洲爆乳无码一区二区三区| 91成人国产精品| 国产又黄又爽又无遮挡| 国产亚洲一本大道中文在线| 爱情岛论坛亚洲自拍| 亚洲欧美清纯在线制服| 亚洲综合激情五月| 婷婷五月色综合香五月| 成人字幕网zmw| 在线观看的黄色| 久久综合久久八八| 欧美老女人性开放| 欧美成人国产一区二区| 中文字幕在线观看高清| 精品欧美aⅴ在线网站| 日韩精品123区| 国产网红主播福利一区二区| av电影中文字幕| 久久精品国产精品亚洲精品| 5月婷婷6月丁香| 欧美日韩福利| 一区二区三区四区国产| 久久超碰99| 精品国产一区二区三区四区精华 | 久久99久久99精品蜜柚传媒| 成人免费91| 国产精品免费视频久久久| a在线视频v视频| 欧美超级乱淫片喷水| 最新av网站在线观看| 日韩精品中文字幕在线观看| www.xxxx国产| 7777精品伊人久久久大香线蕉完整版 | 色久优优欧美色久优优| 国产做受高潮漫动| 亚洲综合av网| 欧美国产日韩综合| 中文字幕在线一区免费| 亚洲国产日韩一区无码精品久久久| 成人黄色a**站在线观看| 亚洲视频在线不卡| 久久国产精品露脸对白| 成人亚洲精品777777大片| 夜夜嗨网站十八久久| 91丨porny丨探花| 欧美成人中文| 日本男女交配视频| 欧美午夜a级限制福利片| 最近免费观看高清韩国日本大全| 97精品一区二区| 亚洲精品美女久久7777777| 国产亚洲一区二区三区啪| 欧美一区国产一区| 欧美丝袜激情| 亚洲精品8mav| 久久精品国产www456c0m| 亚洲欧洲国产精品久久| 成人在线免费观看网站| 亚洲精品久久区二区三区蜜桃臀| 欧美日中文字幕| 亚洲精品乱码视频| 天天影视综合| 国产精品一二三在线观看| 欧美 日韩 国产一区二区在线视频| 无码毛片aaa在线| 欧美另类视频| 777av视频| 久久99伊人| 日韩精品免费播放| 麻豆成人综合网| 永久免费黄色片| 不卡视频一二三四| 亚洲第一香蕉网| 久久久美女毛片| 青青青视频在线播放| 亚洲色大成网站www久久九九| 久久久精品视频免费观看| 亚洲成av人片在线| 波多野结衣视频免费观看| 8x8x8国产精品| 成人av无码一区二区三区| 亚洲第一二三四五区| 嫩草研究院在线观看| 中文字幕日韩欧美精品在线观看| 国产三区视频在线观看| 欧美激情欧美激情在线五月| 新版的欧美在线视频| 国产精品影院在线观看| 99re热精品视频| 欧美午夜精品理论片a级大开眼界| 欧美电影一区| 你真棒插曲来救救我在线观看| 久久综合影视| 久久久久亚洲av片无码v| 91一区二区三区在线播放| 三区四区在线观看| 亚洲一区二区三区中文字幕| 日韩精品一区二区亚洲av| 欧美欧美欧美欧美首页| 亚洲乱色熟女一区二区三区| 亚洲片av在线| 五月花成人网| 国产精品久久久久久久av电影| 日韩激情欧美| 日本成人黄色免费看| 欧美96在线丨欧| 国产精品久久久久9999小说| 成人一级片在线观看| 国产不卡在线观看视频| 亚洲v精品v日韩v欧美v专区| 亚洲一级黄色大片| 日韩精品一二三四区| 先锋成人av| 国产精品日日做人人爱| 日本在线中文字幕一区| 男女h黄动漫啪啪无遮挡软件| 亚洲欧美bt| 日韩精品国产一区| 亚洲色大成网站www久久九九| 欧美黄色一级大片| 亚洲第五色综合网| a篇片在线观看网站| 国产精品入口免费视| 偷拍自拍一区| 日韩xxxx视频| 国产精品66部| 亚洲精品卡一卡二| 在线免费观看一区| 手机亚洲第一页| 欧美—级高清免费播放| 亚洲欧美久久精品| 亚洲免费视频一区| 日韩激情一区二区| 免费无码一区二区三区| 国产福利91精品| 538精品视频| 一本色道a无线码一区v| 亚洲 国产 欧美 日韩| 色综合91久久精品中文字幕| 少妇高潮一区二区三区99| 欧美在线播放一区二区| 性感少妇一区| 欧美高清性xxxx| 午夜精品久久久| 三级网站在线看| 久久久久久一区二区三区| 亚洲精品一区二区三区在线| 日韩不卡一二区| 国产一区二区在线看| 欧美激情精品久久久久久免费| 欧美日韩专区在线| 国产精品二线| 国产精品久久久久久久久久久久久久| 精品中文一区| youjizzxxxx18| 欧美国产97人人爽人人喊| 波多野结衣二区三区| 亚洲男人天堂古典| 欧美黑人粗大| 亚洲成人蜜桃| 激情深爱一区二区| 欧美精品一区二区成人| 精品欧美一区二区在线观看| 美女尤物在线视频| 国外成人在线视频网站| 亚洲一区亚洲| 摸摸摸bbb毛毛毛片| 欧美日韩高清一区二区三区| 国产传媒在线播放| 成人在线观看av| 亚洲伊人观看| 青青青视频在线播放| 欧美一区二区三区在线视频 | 亚洲综合免费观看高清完整版| 亚洲精选一区二区三区| 热久久免费视频精品| 成人3d精品动漫精品一二三| 亚欧精品在线视频| 亚洲不卡在线观看| av在线天堂播放| 91青青草免费观看| 香蕉成人久久| 你懂得在线观看| 欧美xxxxx牲另类人与| 性欧美18~19sex高清播放| 亚洲精品无人区| 国产精品资源在线| 久久99国产综合精品免费| 在线观看欧美视频| 中文字幕一区二区三区中文字幕| 国产特级淫片高清视频| 欧美激情一区不卡| 国模无码一区二区三区| 国产91免费看片| 在线成人超碰| 国产麻豆天美果冻无码视频| 欧美男生操女生| 免费毛片b在线观看| 亚洲在线播放电影| 99r国产精品| 国产又大又黄的视频| 欧美一区二区三区免费视| 91一区二区三区四区| 99久久免费看精品国产一区| 欧美巨大另类极品videosbest| 亚洲优女在线| 玖玖精品在线视频| 日本一区二区三区国色天香| 丰满人妻一区二区三区免费视频 | 国产熟女一区二区三区五月婷| 5566成人精品视频免费| 一区二区三区在线| 男人操女人动态图| 亚洲第一精品久久忘忧草社区|