線上教你開發直播軟體app時需要掌握的小知識

deeply發表於2021-09-09

在開發直播軟體app時,我們經常會提到伺服器的使用。假如一臺伺服器的效能達到極限的話,我們該怎麼辦呢?這個時候,我們可以使用伺服器叢集來提高整體效能,但是在這個叢集中就需要其中一臺伺服器充當“排程者”。也就是使用者的所有請求先由它接收,然後再根據每臺伺服器的負載情況將請求分配給某一臺後端伺服器去處理。在這個過程中,如何進行合理分配,如何保證後端伺服器充分發揮效能,如何保持伺服器叢集整體效能。這就是負載均衡的問題了,本文主要分享HTTP重定向實現負載均衡的相關內容。

圖片描述

1. 過程簡介

使用者向伺服器發起請求時,這一請求會優先被“排程者”截獲,然後再根據某種分配策略選擇一臺伺服器,將選中的伺服器IP地址封裝在HTTP響應訊息頭部的location欄位中,然後將響應訊息的狀態碼設定為302,最終將訊息返回給瀏覽器。當瀏覽器收到響應訊息後,解析欄位並且向該URL發起請求,指定的伺服器會處理該使用者的請求,然後將結果返回給使用者。

2. 優點和缺點

採用HTTP重定向實現伺服器叢集的負載均衡實現雖然看起來邏輯簡單,但是缺點也十分明顯。在HTTP重定向的方法中,排程伺服器只在客戶端第一次發起請求的時候起作用。當“排程者”伺服器向其返回響應訊息之後,客戶端此後的操作都是基於新的URL所進行的,所以就會出現一些問題。

(1)由於使用者不同的訪問時間,每個使用者對各自的後端伺服器所造成的壓力也不同。那麼排程伺服器在進行排程時,就無從得知當前使用者會對伺服器造成多少壓力。因此無法真正實現負載均衡,只不過是將請求次數平均分配到每臺伺服器而已。

圖片描述

(2)如果分配到使用者的後端伺服器出現了故障,那麼當使用者再次訪問時,請求就會傳送給出現故障的伺服器,從而導致訪問失敗。

其實負載均衡一共有四種實現方式,HTTP重定向只不過是其中一種。但不可否認的是,在開發直播app軟體的過程中,瞭解負載均衡相關的知識是非常必要的。畢竟直播作為實時互動性極強的應用場景,經常會出現高併發的現象。如果出現了高並發現象,那麼我們就可以從伺服器方面入手,比如實現負載均衡,從而保證直播的穩定執行。

本文宣告原創,轉載請註明出處。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1978/viewspace-2822530/,如需轉載,請註明出處,否則將追究法律責任。

相關文章