| With the rapid iteration of real-time audio and video communication technology in the direction of low latency,strong interaction,and ultra-high definition,in order to improve the efficiency of remote office,how to develop an efficient and stable video conference system has become the focus of domestic and foreign communication technology companies.However,there are many problems with traditional audio and video solutions.First,the mainstream video communication method needs to rely on embedded hardware devices or client software,which has problems such as poor compatibility and low convenience.Secondly,in the face of rapid iteration of requirements,traditional single services have shortcomings such as difficulty in expansion and low availability.In addition,it is difficult for a single streaming media service to adapt to the dynamically changing conference scale,which is prone to waste of resources.In order to solve the above problems,for the remote office scenario of enterprises,based on the Web RTC communication specification and microservice architecture,this paper uses the browser as the communication medium to research and implement a high-availability and high-expansion video conference system with functions such as video calls,post-processing and analysis of conferences and real-time monitoring.The main research contents include the following three points:System requirements analysis and overall design.Aiming at the problem of poor scalability of single service,based on the concept of microservices,this paper divides the system into six modules,including user service,conference service,monitoring service and so on,and analyzes the requirements from two aspects: functional and non-functional.Based on the analysis results,the architecture is designed from three dimensions: technical architecture,functional application,and data flow.Design the specific functions of each module according to the functional architecture,and analyze the difficulties and expansion points of function implementation.Research on high-availability and high-expansion technology.For high concurrency scenarios,the high-availability and high-expansion of the system are deeply researched from three aspects.In terms of business nodes,in view of the problems of excessive node load difference and untimely expansion,based on the Pick-KX algorithm,comprehensively considering node configuration and real-time performance,a dynamic weighted load algorithm(DWL)is proposed to achieve real-time load balancing and elastic expansion.For the problem of database availability decline,a multi-level distributed cache mechanism is designed to ensure smooth expansion of the cache cluster and effectively reduce the response time.For the request link,for the abnormal problem of some nodes in the request link,a circuit breaker and downgrade strategy is designed based on Hystrix to ensure the normal operation of the main service.Detailed design and implementation of the system.Combined with the above research content,the system is divided into client,server and streaming media.The client is based on the Web RTC communication standard and uses the SRTP protocol to transmit streaming media data.The server implements supporting components such as registration center and configuration center based on Spring Cloud.In addition,logical sorting and implementation of functional modules,including using JWT and RBAC to design a user authentication model.Building a message bus based on Event Bus to implement message publishing and subscription.Based on Rocket MQ and Thread Pool to achieve post-data verification and long-response request optimization.The streaming media side combines the two architectures of Coturn and Free SWITCH to undertake media negotiation,data mixing and forwarding,etc.It dynamically switches between the two architectures according to the conference scale and node load to ensure users get the best video call experience.According to the test results,on the premise that the system meets the functional requirements,the performance indicators such as response time,concurrency,and packet loss rate all meet the expected requirements.The system design scheme and the high-availability and high-expansion technology research in the implementation process have certain application value and reference for the research and development in the field of streaming media systems. |