短影片平臺開發,首先要搭建短影片框架

雲豹科技阿星發表於2021-07-06

   科技發展,技術進步,音影片異軍突起。無影片,不網路,短影片成為最重要的資訊載體之一,是網際網路核心組成部分。如何進行短影片平臺開發,是慎之又慎的問題。從架構的角度,探討短影片平臺的構建與技術選型問題。從以下幾點進行介紹。

1 、雲平臺層構建

      短影片平臺資料量以 PB EB 來計算,未來幾年將以 ZB YB 來計算。大的資料量,需要雲平臺。最好構建獨立的雲,降低成本,可開發性、可擴充套件性、可維護性較高。目前國內大型短影片平臺都是自建雲。

      雲的選型,平臺面向形形色色的人群,選擇 SAAS 平臺,使用者不關心短影片平臺開發的技術問題,只進行操作即可,平臺本身提供完善的服務,目前國內大型短影片平臺都是自建 SAAS 平臺。

      SAAS 平臺構建要考慮如下內容,網路連線、儲存、服務、虛擬化、作業系統、中介軟體、執行環境、資料、應用程式等。

       構建 SAAS 平臺,在 OpenStack Docker 選型上,不是超大型 SAAS 平臺,建議選擇 Docker Docker 維護難度較低。下圖是 Docker OpenStack 對比。

       OpenStack 在底層開發上有很大優越性,但 OpenStack 需要更多的技術投入和強大的底層運維能力,版本差別導致運維有很大差異。不是大投入平臺,不推薦使用 OpenStack

       Docker 相對 OpenStack ,輕量級很多,門檻較低,使用性和可維護性都很高,提供了更多上層服務。

        雲平臺業務層,採用 Kubernetes k8s 已經主導了雲業務流程,推動了微服務架構等熱門技術在雲上的普及和落地。 k8s 提出了基於容器技術的全新分散式架構方案,在容器技術領域的發展是一個重大突破與創新,具有重要的意義。

2 、資料生態層構建

        雲平臺是基礎,是影片資料的載體。在影片資料背後,存在更多服務資料與應用資料,對資料的應用和分析是短影片平臺開發的重要功能。

       Hadoop Spark 是目前主流大資料分析應用平臺,雲平臺基礎上,進行大資料生態層的搭建。 Haoop 負責資料儲存, Spark 進行記憶體級資料運算。

       Hadoop 透過叢集式儲存, Spark 進行記憶體級計算, K8s 進行整體資源排程。三者相互配合,構建三位一體的資料生態層。

3 、框架層構建

      透過框架層,設定可靠、安全、可定製的功能服務。實現程式的模組性,加大程式的維護性和擴充套件性。

      框架分類:元件部分、直播部分、計算部分、安全部分、監控運維部分、配置部分等。依據層級關係,分類進行建設。

      框架服務包含使用者服務和影片服務。主要模組有關係服務、搜尋服務、推薦服務、敏感詞過濾、儲存服務、影片處理服務、 AI 服務、直播服務、轉碼服務、推流拉流等。

4 、業務層

      今天,互聯互通已經成為現實,未來將有更好的發展。每時每刻幾十萬級的請求。業務層必須保證高併發需求,短影片平臺開發的必須是一個高併發平臺。

     Spring Cloud 是一系列框架的有序集合。 Spring Boot 巧妙地簡化了分散式系統的開發,做到一鍵啟動和部署。包含簡單易用、易部署、易維護的分散式系統開發工具包。

     Nginx 是一個輕量級、高效能、穩定性強、併發性好的反向代理伺服器。具有反向代理、負載均衡、動靜分離的功能。

     Kafka 是分散式釋出 - 訂閱訊息系統,是一個可劃分、冗餘備份的永續性日誌服務。處理活躍的流式資料,負責短影片平臺資料流訊息通訊。

     redis 純記憶體操作,擁有高效資料處理能力,是資料高速訪問的利器。採用了非阻塞 I/O 多路複用機制,保證資料的實時應用。

     CDN 接入服務,中心平臺的負載均衡、內容分發、排程等功能模組,使使用者就近獲取所需內容,降低網路擁塞,提高使用者訪問響應速度和命中率。 CDN 的關鍵技術主要有內容儲存和分發技術。

      推流拉流是短影片平臺必須的功能,透過服務協議進行,包括 HTTP + FLV RTMP HLS DASH RTC 協議型別。

5 、應用層

      短影片平臺屬於高流量平臺,客戶端包含電腦端和手機端。電腦端應用層分為 Web 實現和應用程式實現,手機端應用透過 App 進行實現。 App 又可分為 Android App IOS App

     Web 層方便電腦使用者應用,也為 App 請求提供服務。 Web 層功能實現主要靠業務層提供支援。

     Web 層技術選型主要是動態語言和 JS 框架。 JS 框架的選型,沒有特別要求。動態語言建議採用 PHP ,相對靈活,較快上手,目前市場上應用較多。

      客戶端應用程式透過盒子技術來實現,建議對 Chrome 進行封裝。相比 IE Chrome 有更底層操作。

     App 在整個平臺的末端。影片特效的實現,主要透過 App 客戶端完成。程式設計師呼叫影片特效 SDK ,進行各種特效的實現。對應 App 的開發,技術選型成熟固定,本文不再闡述。

6 、總結

        短影片平臺具有大資料、高併發、智慧性的特點,系統建設相對複雜,技術選型與平臺架構,是短影片平臺建設的第一步,也是短影片平臺開發的基礎。

————————————————

宣告:本文由雲豹科技轉發自 短影片技術 部落格,如有侵權請聯絡作者刪除

原文連結:https://blog.csdn.net/qq_33277028/article/details/109489879

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

相關文章