相信大家對高併發這個詞並不陌生,現在有很多家科技公司在進行人才招聘時都會問到關於高併發的問題。其實高併發通常指通過設計保證系統能夠同時並行處理很多請求,是網路直播開發過程中關於系統架構必須考慮的因素之一。所以,在網路直播開發過程中,關於高併發的問題也是開發者們必須重視的一點。
1.怎樣提公升系統的併發能力
要想提高直播系統的併發能力,主要可以分為兩種:垂直擴充套件與水平擴充套件。
(1)垂直擴充套件
即提公升單機處理能力,垂直擴充套件的方式又分為兩種。
增強單機硬體效能,比如增加cpu核數,擴充硬碟容量和系統記憶體。
提公升單機架構效能,比如使用cache來減少io次數,使用非同步來增加單服務吞吐量。
不足的是,單機效能總是有極限的,所以大部分高併發的解決方案還是會選用水平擴充套件,也就是我們下面要提到的。
(2)水平擴充套件
即只要增加伺服器數量,就能線性擴充系統效能。水平擴充套件對於系統架構設計是有一定的要求的,關於如何在架構各層進行可水平擴充套件的設計,在此就不多做贅述了。
2.常見的分層架構
(1)客戶端層(2)反向**層(3)站點應用層(4)服務層(5)資料-快取層(6)資料-資料庫層
3.水平擴充套件在各分層中的實踐
(1)反向**層
反向**層的水平擴充套件,是通過「dns輪詢」實現的,每次dns解析請求來訪問dns-server,會輪詢返回這些ip。當nginx遭遇瓶頸時,只要增加伺服器數量,新增nginx服務的部署,增加乙個外網ip,就能擴充套件反向**層的效能,做到理論上的無限高併發。
(2)站點層
是通過「nginx」實現的,通過修改nginx.conf,可以設定多個web後端。當web後端遭遇瓶頸時,只要增加伺服器數量,新增web服務的部署,在nginx配置中配置上新的web後端,就能擴充套件站點層的效能,做到理論上的無限高併發。
js中非常重要的乙個資料型別 陣列
陣列 1.什麼是陣列 資料的組合,一組資料,當需要操作多個類似資料時,可以給 資料打包,陣列。陣列其實也是物件,只是儲存資料的形式不一樣 陣列表示資料的有序集合 1.如何得到陣列 字面量建立 var arr console.log arr console.log typeof arr 型別objec...
在你的成長過程中,有五個人非常重要
第乙個,導師,教練。他教給你實用的技巧 一定的工作經驗,而不是知識。他可以給你指明方向。這個人可能是你的上司 前輩 學長。第二個,陪練,同路人。任何人的成長都不是學出來的,而是學而習,習而成習慣,練出來的。在這個練的過程中,是一件很苦的過程,是一系列簡單動作的重複重複再重複,由量變到質變的過程,在這...
無感支付解決了智慧型停車體系中非常重要的乙個環節
國內無感智慧型停車系統得到快速發展,主要得益於國內行業借鑑,汲取國外先進的技術和理念,而且國內自主研發新技術,使得停車場更加智慧型化。在無感智慧型停車系統研發方面,有著自身的特點,而且相應的科技水平更加先進。不僅如此,在硬體裝置方面,都是使用當前最為先進的裝置,確保系統高效穩定執行。在整個智慧型停車...