1. 程式人生 > 其它 >為什麼我們要用BS架構來開發流媒體平臺?

為什麼我們要用BS架構來開發流媒體平臺?

熟悉我們的小夥伴都知道,我們開發的所有流媒體平臺EasyNVR、EasyGBS、EasyCVR、EasyDSS等都是BS架構,至於BS架構和CS架構的區別,我們在之前的博文中也提到過:視訊流媒體伺服器BS架構與CS架構的區別在哪裡?大家有興趣可以瞭解一下。

BS和CS兩種架構針對不同的場景有不同的應用需求,簡單來說,BS主要支援瀏覽器的無外掛直播,而CS主要是在客戶端直播方面發揮作用。CS架構要先於BS架構出現,BS架構是CS架構的一種變化或者說是改進,解決了CS架構無法統一客戶端的難題,將系統功能實現的核心部分集中到伺服器上,簡化了系統的開發、維護和使用。

在EasyNVR的使用中,一般專案場景比較大的使用者團隊應該有明顯的感覺,如果沒有采用BS架構,那麼系統管理人員需要在基數量龐大的電腦伺服器之間重複執行,不僅工作量大,且效率低下,還會浪費大量人力資源。但採用B/S架構的EasyNVR平臺,則只需管理伺服器就行了,所有的客戶端只是瀏覽器,無需做過多人力維護,且無論使用者規模會達到何種級別,也無論分支機構有多少,都不影響維護升級的工作量,只需關注伺服器操作即可。

此外,基於BS架構的EasyNVR流媒體平臺具備windows和Linux兩種版本,在系統的選擇性上相對更高,而且安全性高,不管選用哪種作業系統都可以讓大部分人使用windows作為桌面作業系統電腦不受影響,還可以充分發揮Linux中資料庫免費的絕對優勢。

然而BS架構仍給EasyNVR的實際執行帶來了一定的劣勢。由於使用者介面主要事務邏輯在伺服器(Server)端完全通過瀏覽器實現,極少部分事務邏輯在前端(Browser)實現,因此伺服器承載了大部分的資料,隨著資料增加,負荷將會越來越重。也正是因為這個原因,很多視訊專案都會準備一套資料庫儲存伺服器以防萬一。

針對負荷問題,EasyNVR也有自身的處理方式,即叢集和分佈儲存。叢集的特點是通過多臺計算機完成同一個工作,當一臺伺服器崩潰,也不會影響其他伺服器的執行。自身擁有拉取安防RTSP視訊流的功能,同時自身也擁有流媒體分發的能力。以叢集的方式來說,就是多個流媒體進行視訊分發、多個服務進行視訊拉流,是叢集服務的直接使用形式。

實際上不僅是EasyNVR,很多場景運用中都經常會有高併發和多裝置的情況,我們則提供了一個相對具備優勢的解決方案,不管是BS架構還是叢集和分散式儲存,我們都有將視訊傳輸或者說伺服器壓力降低的方式。如果大家有興趣,可以關注我們獲取更多相關視訊解決方案,歡迎大家瞭解。