最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

11 系統(tǒng)面臨的現(xiàn)實(shí)問題:秒殺活動(dòng)時(shí)數(shù)據(jù)庫(kù)壓力太大,該怎么緩解?

2023-06-06 14:27 作者:儒猿課堂  | 我要投稿

系統(tǒng)面臨的現(xiàn)實(shí)問題:秒殺活動(dòng)時(shí)數(shù)據(jù)庫(kù)壓力太大,該怎么緩解?



1、愁眉苦臉的小猛:為啥訂單系統(tǒng)有一大堆問題?


小猛今天一早就到了公司,但是在工位上愁眉不展。因?yàn)樗?jīng)過最近幾天的學(xué)習(xí),覺得自己所在的訂單技術(shù)團(tuán)隊(duì),這個(gè)訂單系統(tǒng)面臨的技術(shù)問題真是太多了。


他一邊想,一邊在自己的A4白紙上畫圖。

? ? ? ? ? ?

?? ? ? ? ? ?

小猛一邊畫圖,一邊自言自語(yǔ):首先是在一個(gè)訂單支付之前,用戶一旦下了訂單,就會(huì)鎖定對(duì)應(yīng)的商品庫(kù)存,別人就不能買了。然后萬一用戶一直沒支付,還得一個(gè)后臺(tái)線程不停的掃描數(shù)據(jù)庫(kù)里的待支付訂單,去自動(dòng)取消長(zhǎng)時(shí)間沒支付的訂單。


但是如果這種訂單有幾十萬甚至幾百萬之多呢?不停的讓后臺(tái)線程掃描,性能很差,也非常的不方便。


接著小猛又在白紙上畫了一個(gè)圖出來。


? ? ? ? ? ?

?? ? ? ??

這個(gè)圖就稍微復(fù)雜一點(diǎn)了。支付訂單之后要經(jīng)歷更新訂單狀態(tài)、扣減庫(kù)存、發(fā)送Push推送、增加積分、派發(fā)優(yōu)惠券和紅白、通知倉(cāng)儲(chǔ)系統(tǒng)發(fā)貨,等等過程。


這一系列的過程要是都執(zhí)行下來,那性能真是太差了!


而且不光是這樣,在這個(gè)調(diào)用鏈路中,訂單系統(tǒng)還跟倉(cāng)儲(chǔ)系統(tǒng)耦合在了一起,倉(cāng)儲(chǔ)系統(tǒng)是跟第三方物流系統(tǒng)耦合在一起的。


這種耦合,就導(dǎo)致了第三方物流系統(tǒng)如果性能出現(xiàn)抖動(dòng),會(huì)導(dǎo)致我們的核心鏈路的性能也會(huì)抖動(dòng),第三方物流系統(tǒng)的接口如果調(diào)用失敗,會(huì)導(dǎo)致我們的核心鏈路也出現(xiàn)部分失敗。


小猛一陣搖頭,又接著畫了一個(gè)圖:

? ? ? ? ? ?

? ? ? ? ? ? ?

看上圖,哪怕是訂單支付過后,如果用戶要退款,這個(gè)時(shí)候涉及到自己公司內(nèi)部系統(tǒng)的一系列回滾,比如更新訂單狀態(tài)、增加庫(kù)存、收回優(yōu)惠券和紅包、減少積分,通知取消發(fā)貨,等等。


而且此時(shí)還得調(diào)用第三方支付系統(tǒng)進(jìn)行退款,但是萬一在這里退款失敗了呢?那用戶就拿不到自己的錢了,所以還得考慮這個(gè)問題。


接著小猛拍拍腦袋,又畫了一個(gè)圖。

? ? ? ? ? ?

?? ? ? ? ? ?


真是搞不懂這個(gè)大數(shù)據(jù)團(tuán)隊(duì)在搞什么,雖然是剛剛組建,來不及搭建自己的架構(gòu)。但是就因?yàn)槔习寮敝磾?shù)據(jù)報(bào)表,就直接跑幾百行的大SQL從我們訂單數(shù)據(jù)庫(kù)里來拿數(shù)據(jù),這個(gè)太不靠譜了。


如果有幾十個(gè)人同時(shí)看報(bào)表,幾十個(gè)幾百行的大SQL運(yùn)行在訂單數(shù)據(jù)庫(kù)里,瞬間會(huì)導(dǎo)致我們的CPU和磁盤IO負(fù)載過高,導(dǎo)致我們訂單系統(tǒng)自己的CRUD操作的性能下降,真是想著都揪心!


小猛看著自己畫的這四張圖,感覺自己完全理解現(xiàn)在訂單系統(tǒng)面臨的困境了,但他覺得有心無力,因?yàn)閱栴}很多,不知道如何去解決。


而且他覺得,這些還只是明哥給他講的一些問題,包括數(shù)據(jù)庫(kù)壓力過高,數(shù)據(jù)量過大,搜索訂單性能太差等很多這類問題,可能明哥都沒給他講,因?yàn)楫吘故菆F(tuán)隊(duì)其他兄弟在負(fù)責(zé)這類事情。


2、明哥的贊賞:知恥而后勇,就成功了


正當(dāng)小猛出神的時(shí)候,明哥來到了他的身后,看著他手里畫的4張圖,很是欣慰。心想:真是沒看錯(cuò)這個(gè)小伙子,悟性很高,聰明努力,幾天功夫就把訂單系統(tǒng)面臨的技術(shù)問題都理解透徹了。


明哥拍拍小猛的肩膀說:怎么樣,是不是感覺自己對(duì)這些技術(shù)問題有心無力?


小猛點(diǎn)點(diǎn)頭:是的,我現(xiàn)在知道有這些問題了,但是不知道怎么去解決他們,明哥你讓我來負(fù)責(zé)這些問題的技術(shù)方案的設(shè)計(jì),我可能做不到啊。


明哥微笑著說:你不要過于擔(dān)心了,你是應(yīng)屆生,我怎么會(huì)把擔(dān)子都?jí)涸谀闵砩夏亍?/p>


其實(shí)最主要的,是我來一步步指導(dǎo)你去調(diào)研一些技術(shù),然后給你一些思路,讓你設(shè)計(jì)出解決這些問題的技術(shù)方案來,所以我會(huì)全程帶著你的,放心。


小猛一聽就樂了:原來有明哥這么粗的大腿抱,不是我一個(gè)人抗啊,那我就放心了。


明哥說:知恥而后勇,就成功了,現(xiàn)在你意識(shí)到了自己能力不足,以后一定要多加努力!


3、雙11對(duì)一個(gè)訂單系統(tǒng)到底有多大壓力?


明哥接著帶小猛到了會(huì)議室里,在會(huì)議室里明哥說:今天要告訴你這個(gè)訂單系統(tǒng)未來需要你來解決的最后一個(gè)問題,就是抗雙11大流量壓力!這個(gè)也是需要你來搞定的,當(dāng)然,我會(huì)帶著你一起做,給你指導(dǎo)思路。


小猛一聽就來興趣了,因?yàn)槠綍r(shí)常常在網(wǎng)上看到,12306售票網(wǎng)站的壓力有多么的大,平時(shí)淘寶天貓的雙11活動(dòng)時(shí)系統(tǒng)壓力有多么大,春晚時(shí)候的微信紅包壓力有多么大,但是自己一直不太理解這里面的問題所在。


明哥看出了小猛的疑惑,開始了講解。


首先經(jīng)過之前的講解,我們已經(jīng)知道了咱們的電商APP的用戶使用習(xí)慣以及我們的訂單系統(tǒng)面對(duì)的壓力。


在平時(shí)晚上的高峰使用期,最頂峰的時(shí)候大概是每秒2000左右的請(qǐng)求壓力到訂單系統(tǒng)上來。


明哥說著,就在小白板上畫了一個(gè)圖出來。

? ? ? ? ? ?

? ? ? ? ? ? ?

接著明哥問小猛一個(gè)問題:如果用戶每秒會(huì)發(fā)起2000個(gè)請(qǐng)求到我們的訂單系統(tǒng)的各類接口,包括下單接口、退款接口、查詢接口等等,那么你覺得我們的訂單系統(tǒng)每秒會(huì)執(zhí)行多少條SQL在訂單數(shù)據(jù)庫(kù)上?


小猛被這么一問,一下子就呆住了,這個(gè)問題還從來沒想過。


明哥接著解釋,這個(gè)其實(shí)是一個(gè)有經(jīng)驗(yàn)的工程師一般都會(huì)了解的一個(gè)估算方法,比如每秒訂單系統(tǒng)的各類接口被調(diào)用2000次,平均每個(gè)接口會(huì)執(zhí)行多少次數(shù)據(jù)庫(kù)操作?


一般你可以認(rèn)為平均每個(gè)接口會(huì)執(zhí)行2~3次的數(shù)據(jù)庫(kù)操作。


一般一個(gè)接口根據(jù)業(yè)務(wù)復(fù)雜度的不同,有的接口可能處理一個(gè)請(qǐng)求要執(zhí)行五六次數(shù)據(jù)庫(kù)操作,有的接口可能是1次數(shù)據(jù)庫(kù)操作+兩三個(gè)其他系統(tǒng)的接口調(diào)用(比如庫(kù)存系統(tǒng)、營(yíng)銷系統(tǒng))。


總之,一般來說,業(yè)務(wù)系統(tǒng)的接口處理邏輯,基本都集中在對(duì)自己的數(shù)據(jù)庫(kù)的操作以及對(duì)其他系統(tǒng)的調(diào)用上。


所以大致在我們這里,結(jié)合線上數(shù)據(jù)庫(kù)的可視化監(jiān)控界面,基本可以知道,平均每次訂單系統(tǒng)的接口調(diào)用,會(huì)執(zhí)行2次數(shù)據(jù)庫(kù)操作,我們觀察數(shù)據(jù)庫(kù)的監(jiān)控界面,在最高峰的時(shí)候,每秒大概是有4000左右的請(qǐng)求。


說到這里,明哥繼續(xù)在上圖中補(bǔ)充了一點(diǎn)東西。


? ? ? ? ? ?

?? ? ? ? ? ?


之前講過,線上數(shù)據(jù)庫(kù)是部署了一臺(tái)服務(wù)器的,用的是高配置的16核32G以及SSD固態(tài)硬盤的機(jī)器,因此觀察線上數(shù)據(jù)庫(kù)的情況,在每秒4000請(qǐng)求的時(shí)候,雖然CPU、磁盤、IO等負(fù)載較高,但是基本還在承受范圍內(nèi)。


那么接著問題來了,如果在雙11之類的超級(jí)大促活動(dòng)中,我們的訂單系統(tǒng)可能會(huì)面臨多大的壓力?以及訂單數(shù)據(jù)庫(kù)可能面臨多大的壓力?


4、雙11之類的大促活動(dòng)有多恐怖


明哥接著解釋,雙11之類的大促活動(dòng)你知道有多恐怖嗎?


明哥舉了一個(gè)最直接的例子,明哥他媳婦兒。


明哥他媳婦兒每年最盼望的就是一年一度的雙11,因?yàn)檫@個(gè)時(shí)候往往所有人購(gòu)物成風(fēng),她也可以瘋狂的購(gòu)物,不用顧慮明哥痛苦的眼神。


為什么呢?因?yàn)槊鞲缒莻€(gè)時(shí)候一定是堅(jiān)守在公司里值班,保證公司的系統(tǒng)穩(wěn)定性,不會(huì)在家里。當(dāng)然只是個(gè)玩笑!


但是實(shí)際情況也差不多如此,在類似雙11之類的活動(dòng)時(shí),基本上很多電商都會(huì)在雙11零點(diǎn)之后突然開啟一個(gè)特別大的折扣優(yōu)惠,比如來一個(gè)全場(chǎng)3折大甩賣。


很多少男少女,中年婦女,都會(huì)等在手機(jī)前。


明哥的媳婦就會(huì)在雙11之前幾天,在購(gòu)物車?yán)锛尤氪罅康纳唐?,然后在雙11零點(diǎn)來臨前盯著手機(jī)等待,等零點(diǎn)一過,雙11全場(chǎng)大甩賣正式開始,此時(shí)大量的人在這個(gè)時(shí)候突然下單,搶購(gòu)商品,仿佛商品都不要錢一樣。


所以此時(shí)很多頂級(jí)大電商公司的系統(tǒng),可能會(huì)在雙11購(gòu)物最高潮的時(shí)候,系統(tǒng)QPS達(dá)到百萬級(jí)別,也就是每秒百萬請(qǐng)求!


當(dāng)然,明哥所在的公司還沒那么恐怖,畢竟是一個(gè)創(chuàng)業(yè)型電商公司。


但情況也好不到哪兒去,明哥回憶道:去年雙11的時(shí)候,公司也搞了一場(chǎng)活動(dòng),當(dāng)時(shí)公司用戶量很少,那年雙11就幾十萬用戶參與了,但是就這樣,在雙11購(gòu)物最高峰的時(shí)候,也達(dá)到了每秒幾千的QPS!


明哥說,當(dāng)時(shí)我們那臺(tái)16核32G的高配置機(jī)器部署的數(shù)據(jù)庫(kù),短時(shí)間內(nèi)CPU、磁盤、IO的負(fù)載飆升到了最高,但是這種購(gòu)物高潮往往不會(huì)持續(xù)太久,所以很短時(shí)間過后,負(fù)載就慢慢下來了,基本還能抗住!


5、今年的雙11活動(dòng)對(duì)系統(tǒng)壓力會(huì)有多大?


明哥接著說,那么今年的雙11活動(dòng)對(duì)系統(tǒng)壓力會(huì)有多大你知道嗎?公司現(xiàn)在積累的注冊(cè)用戶已經(jīng)千萬級(jí)了,平時(shí)的日活用戶都百萬級(jí),今年的雙11參與活動(dòng)的用戶預(yù)計(jì)有可能會(huì)達(dá)到兩三百萬。


假設(shè)是這個(gè)量級(jí)的話,基本可以做一個(gè)設(shè)想,如果有200萬用戶參與雙11活動(dòng),在雙11購(gòu)物最高峰的時(shí)候,肯定會(huì)比往年的高峰QPS高好幾倍,預(yù)計(jì)有可能今年雙11最高峰的時(shí)候,會(huì)達(dá)到每秒至少1萬的QPS。


也就是說,光是系統(tǒng)被請(qǐng)求的QPS就會(huì)達(dá)到1萬以上,那么系統(tǒng)請(qǐng)求數(shù)據(jù)庫(kù)的QPS就會(huì)達(dá)到2萬以上。僅僅憑借我們目前的數(shù)據(jù)庫(kù)性能,是無論如何扛不住每秒2萬請(qǐng)求的。


小猛聽到這樣的一番分析,從系統(tǒng)面臨的實(shí)際場(chǎng)景,一直到系統(tǒng)的壓力挑戰(zhàn),目瞪口呆。


他很驚訝,在一些大促活動(dòng)的時(shí)候,數(shù)據(jù)庫(kù)的訪問壓力完全有可能會(huì)超出他能承受的極限,那這個(gè)時(shí)候該怎么辦呢?


明哥笑笑說:別著急,其實(shí)這個(gè)每秒2萬QPS也不算太高,跟BAT比起來,就是小巫見大巫了,我們只要合理設(shè)計(jì)系統(tǒng)架構(gòu)和技術(shù)方案,其實(shí)也是可以輕易的抗住這個(gè)壓力的。


小猛聽明哥如此的淡定,頓時(shí)像個(gè)小迷弟,一臉崇拜之情。通過技術(shù)解決現(xiàn)實(shí)生活中的挑戰(zhàn),真是太有意思了!



End




專欄版權(quán)歸公眾號(hào)儒猿技術(shù)窩所有

未經(jīng)許可不得傳播,如有侵權(quán)將追究法律責(zé)任

11 系統(tǒng)面臨的現(xiàn)實(shí)問題:秒殺活動(dòng)時(shí)數(shù)據(jù)庫(kù)壓力太大,該怎么緩解?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
永兴县| 巨野县| 晋州市| 凤凰县| 耿马| 澜沧| 泸定县| 广汉市| 马山县| 津市市| 团风县| 长顺县| 蕲春县| 永福县| 友谊县| 九龙城区| 遵义县| 罗平县| 温宿县| 高邮市| 稷山县| 江源县| 教育| 剑阁县| 晴隆县| 溧水县| 宜君县| 图木舒克市| 深州市| 广平县| 海城市| 鄂托克旗| 永清县| 冕宁县| 綦江县| 会理县| 博罗县| 西吉县| 航空| 贵定县| 宁蒗|