Vinteo Servers scaling and fault tolerance

Материал из База знаний VINTEO

To organize a video conferencing service (hereinafter referred to as VCS) based on Vinteo, one physical server is sufficient but to obtain a fault-tolerant system and a system that can withstand high loads it is necessary to use a cluster of several servers.

There are two server roles in the Vinteo system:

  • communication server and management server (hereinafter it referred to as the management server);
  • media server.

There can only be one management server in the system during operation. The number of media servers is defined as N+1; minimum one media server. The minimum number of physical servers is one; it is combining both roles. When using redundancy we get another management server to hot-swap the primary management server if it fails. There can be only 1 backup management server.

Management server

Management server is the web server and the server that provides interaction via communication protocols (SIP, H.323, WebRTC).

To reserve the management server the following scheme is used: primary - secondary. The primary server is active and serving the system; the secondary server is passive. It monitors the state of the primary server and with an interval of 5 minutes replicates data from the database and from the file system to itself. For redundancy to work correctly it is necessary that the main and backup servers be comparable in power.

If the primary server fails the secondary server takes over the primary role and raises interfaces with system IP addresses registered in the database and turns on management and telephony services.

When the first server returns to service (when turned on) it (the first server) will take on the role of the secondary determining that the primary server is already on the network on the eth1 interface. Thus the primary server becomes the server that will be turned on first and the second one will become the secondary server.

If the primary server loses connection with the secondary server the license becomes temporary and is valid for 72 hours from the moment the connection is lost. During this time it is necessary to solve the technical problem with the failed server or if this is not possible contact Vinteo technical support to resolve the issue with the validity period of temporary licenses.

If the connection between the secondary and primary servers on the eth1 interfaces is lost the situation may occur where both servers become primary. This can lead to unpredictable consequences including complete unavailability of the service.

Media server

Media server is the server that encodes/decodes media streams and builds layouts. To increase system performance it is necessary to use cascading. Cascading is the horizontal scaling of media servers. The management server will strive to load the media servers evenly balancing the load between them, i.e. media servers mutually back up each other.

The media server is based on the Multipoint Control Unit (hereinafter referred to as MCU). The MCU is responsible for processes such as mixing, transcoding and transrating.

Mixing implies the ability to create an image layout in the form in which it would be convenient for the user. Transcoding allows you to change the format of the video stream and transrating makes it possible to optimize the data transfer rate.

To ensure redundancy of media servers in the system it is necessary to have at least N+1 media servers where N is the number of media servers required to serve the maximum number of participants for given video conferencing scenarios. The MCU can also be a management server.