回覆列表
  • 1 # 90後壁紙抖音最新最火

    您好樓主.希望對您有幫助.高併發對後臺開發同學來說,既熟悉又陌生。熟悉是因為面試和工作經常會提及它。陌生的原由是伺服器因高併發導致出現各位問題的情況少之又少。同時,想收穫這方面的經驗也是"摸著石頭過河", 需要大量學習理論知識,再去探索。

    如果是客戶端開發的同學,字典中是沒有“高併發”這個名詞。這驗證一句老話,"隔行如隔山"。客戶端開發,特別是手機應用開發,更多地是考慮如何最佳化應用的效能,降低 App 的卡頓率

    在這個“雲”的時代,提高分散式系統併發能力的方式,方法論上主要有兩種:垂直擴充套件(Scale Up)與水平擴充套件(Scale Out)。

    1) 垂直擴充套件

    提升單機處理能力。垂直擴充套件的方式又有兩種:

    增強單機硬體效能,例如:增加 CPU 核數如 32 核,升級更好的網絡卡如萬兆,升級更好的硬碟如 SSD,擴充硬碟容量如 2T,擴充系統記憶體如 128G;

    提升單機架構效能,例如:使用 Cache 來減少 I/O 次數,使用非同步來增加單服務吞吐量,使用無鎖資料結構來減少響應時間;

    2) 水平擴充套件

    只要增加伺服器數量,就能線性擴充系統性能。虛擬化技術的出現,讓水平擴充套件變得輕鬆且簡單。現在的雲主機幾乎是虛擬主機,而不是物理主機。這樣的話,線性擴充也就是分分鐘的事,前提是要有足夠的物理主機支撐。

    Web 框架層

    Web框架層就是我們開發出來的 Django Web 應用程式。它負責處理 HTTP 請求的動態資料。

    WSGI 層

    WSGI 不是用於與程式互動的API,也不是真實的程式碼,WSGI 只是一種介面。它只適用於 Python 語言,其全稱為 Web Server Gateway Interface。其定義了 web伺服器和 web應用之間的介面規範。

    Web 伺服器層

    Web 服務層作用是主要是接收 HTTP 請求並返回響應。常見的 web伺服器有 Nginx,Apache,IIS等。

    Django 框架注重的資料互動。所以考慮的問題是 Django 適不適合於高併發的場景。

    它是一個經過大型網站規模驗證的框架。Instagram 支撐上億日活,所以 Django 能適用於高併發場景。所以不是想著 Django 框架能支撐到多大的併發量,而是我們想要抗住很大的併發量,怎麼最佳化現有框架。總之這個問題不是這麼簡單的.活到老學到老.多看看技術類書籍.結合自己的能力在進行改進.

  • 中秋節和大豐收的關聯?
  • 爸爸在市場上淘的玉,大家看一下怎麼樣?