With the rapid development of real-time audio and video technology,cloud video conferencing can be applied to many fields,becoming the hottest real-time interactive streaming media products.Currently there are various cloud video conferencing products in the market,using different streaming media service architectures,resulting in the inability to communicate between different products.The emergence of Web RTC technology,which provides real-time audio and video communication on Web,Android and i OS,solves the problem of versatility of cloud video conferencing terminals.SFU architecture and MCU architecture are the current mainstream audio and video conferencing solutions,however,most are monolithic architecture or bare-metal deployment,the efficient operation and maintenance of services,server resource utilization,audio and video service stability can not be guaranteed.With the continuous enrichment of cloud-native ecology,container technologies represented by Docker and Kubernetes have occupied the container orchestration market,providing technical support to solve the above problems.In this paper,we design and implement a highly available streaming media service based on containerization,aiming to provide reliable and stable audio and video communication services for multiple terminals users who meet Web RTC specifications.Firstly,this paper adopts the microservicing idea to divide the streaming media service into audio and video modules and highly available modules.The audio and video module includes streaming media server,media gateway service,network and object storage service.The high availability module includes monitoring service,dynamic load-aware service,dynamic resource expansion and contraction and scheduling service.This paper solves the environmental dependency problem of streaming server version,operating system and other services through containerization technology to achieve smooth migration,continuous deployment and continuous testing of streaming media services,which greatly improves the operation and maintenance efficiency.Secondly,this paper designs and implements a containerized-based highly available streaming media service with rich and reasonable audio and video conferencing functions.We design and implement media gateway services based on Redis publish-subscribe model for two architectures,so that multiple terminals users can select corresponding audio and video services according to audio and video conferencing requirements.Design and implement network and object storage services to solve the high performance load of clustered services and the high performance read and write of audio and video files.For the problem of dynamic change of IP address of clustered streaming media services,Designed to implement customized monitoring services to provide Performance Indicator Data for highly available streaming services.Other services of the high availability module can dynamically adjust the number of streaming services,perform optimal node scheduling and dynamically perceive the load,and meet the application requirements of the high concurrency scenario of streaming services.Then,this paper design and implement a dynamic resource scaling and expansion service to ensure that the streaming service can automatically scale horizontally according to the service load pressure.Even if a single node is down,the dynamic load service is able to load the multiple terminal user requests to the media gateway of other nodes.In addition,the streaming media service scheduling algorithm is designed based on TOPSIS model to achieve the optimal node scheduling for streaming media services and ensure the maximum utilization of the entire cluster bandwidth resources.Finally,According to the testing and analysis of streaming media services in terms of functionality and performance,the design and implementation of containerized highly available streaming media services meet the expected requirements.Overall,it ensures smooth migration and efficient operation and maintenance of streaming media services,effectively solves the painful and difficult problems of high availability of streaming media services,and can provide more stable and reliable audio and video services. |