人妻少妇乱子伦精品_日韩人妻潮喷视频网站_日本最新最全无码不卡免费_日韩AV无码中文

當前位置: 首頁 > 科技新聞 >

程序員經典面試題,高并發(fā)系統(tǒng),一般需要怎么

時間:2019-11-13 00:45來源:網絡整理 瀏覽:
高并發(fā)系統(tǒng)總是那么令人著迷,比如說雙十一的搶購,比如說12306的搶票,都是非常經典的高并發(fā)的例子,也是非常大的挑戰(zhàn)。對于開發(fā)這樣系統(tǒng)的人來

高并發(fā)系統(tǒng)總是那么令人著迷,比如說雙十一的搶購,比如說12306的搶票,都是非常經典的高并發(fā)的例子,也是非常大的挑戰(zhàn)。對于開發(fā)這樣系統(tǒng)的人來說,最怕的就是突發(fā)的流量,就好比河流突發(fā)大水而引發(fā)洪澇災害一樣,突發(fā)的流量也會引起服務器奔潰。

程序員經典面試題,高并發(fā)系統(tǒng),一般需要怎么做

為了應對這些突發(fā)的流量,我們總需要做點什么?今天我們來介紹一下高并發(fā)的幾個套路。

分布式

提升并發(fā)的好的辦法,便是提升硬件。舉個大家都熟悉的例子,十年前的諾基亞手機,一般我們只能簡單的掛一個QQ后臺,多干幾個事情,就不行了。五年前,我們用的安卓手機能開十來個任務,切換也比較流暢了,而今天,剛剛發(fā)布的蘋果iPhone11,性能就更加強勁。但是我們也發(fā)現(xiàn),這兩年,好像手機的性能沒有飛速發(fā)展了。無論是蘋果、高通還是華為,或者是PC芯片的廠商因特爾或者AMD,都開始慢慢在擠牙膏了。

這其實是受到物理定理的制約,晶體管不可能無限小,無限集成,硬件不可能一直保持突飛猛進。并且,越是高端的機器,成本越貴,并且這個價格很可能是指數(shù)級增長的。谷歌公司在很早之前就發(fā)現(xiàn),于是開始組建分布式系統(tǒng),使用一個集群而不是一臺機器來完成相關的工作,憑借這一點,谷歌在互聯(lián)網早期迅速發(fā)展。

緩存

緩存,是解決高并發(fā)問題的另一個有效手段。因為磁盤的讀寫速度較慢,所以我們常常用讀寫速度的更高的內存來防止流量到達磁盤。

一般我們會把一些靜態(tài)資源都放在緩存上,或者將一些動態(tài)的又不怎么重要的更新頻率可以接受延遲的放在緩存里。舉個例子,音樂服務器,我們可以把專輯的圖片、音樂文件這些放在CDN等緩存服務上,對于一些熱門的評論列表,我們也可以進行緩存,一定時間才刷新一次,可以大大減少磁盤的壓力。當然,有時候有緩存還遠遠不夠,例如前幾天周杰倫的新專輯照樣打垮了QQ音樂的服務器。

異步

即便是有緩存,有些請求仍然沒有辦法快速的相應。

有些請求是寫請求,舉個例子,沙茶敏寫了一份電子郵件,群發(fā)了1萬個人,群發(fā)的人數(shù)非常多,服務器要往很多人的信箱投遞消息,假設一個人需要0.1秒,1萬個人也要1000秒。雖然可以并發(fā)到多臺機器解決,但是非常浪費資源,如果很多人這么做,系統(tǒng)壓力非常大。

另外的情況,是有可能某個系統(tǒng)處理非常慢,這個系統(tǒng)既有可能是業(yè)務非常復雜,也有可能是第三方系統(tǒng),舉個例子,沙茶敏從支付寶提取一筆資金到某小銀行,因為技術原因,某個小銀行每次接口訪問都要10秒鐘,不可能在轉賬頁面卡10秒,所以支付寶先告訴用戶轉賬成功了,然后異步進行。

異步,我們通常采用了異步隊列,異步的好處除了削峰,限流,提升用戶體驗,還能很好的保護系統(tǒng)。

總結

上面就是高并發(fā)系統(tǒng)中常用的幾個套路,當然,實際開發(fā)中我們還有很多要注意的。歡迎大家關注我,共同學習,共同進步。大家的支持是我繼續(xù)嘮嗑的動力。

【責任編輯:華軒 TEL:(010)68476606】
推薦內容