Please check Cluster Configuration as the next step in a cluster configuration.
Storm Streaming Server has been designed from the ground up with full scalability in mind, enabling it to handle tens of thousands of video streams, each of which can have thousands of simultaneous viewers. Thanks to the implementation of a cluster architecture, the system gains additional redundancy and resistance to serious network infrastructure failures.
Cluster building can begin with just one server instance - without the need to immediately invest in multiple physical machines or VPSs (Virtual Private Servers). As demand increases, adding subsequent Storm Streaming Server instances allows for gradually increasing the system's performance and reliability.
A key aspect of cluster operation in Storm Streaming Server is the distinction between a server instance and so-called applications.
A single server instance can host multiple applications of different types and very different configurations. It is possible to configure a complete cluster on a single server machine, but also to split the whole system into individual servers.
Each cluster consists of the following types of applications:
Origin | Transcode | Edge | |
---|---|---|---|
Can it accept streams from external software? | Yes | No | No |
Can it transcode streams? | Yes | Yes | No |
Can it record streams? | Yes | No | No |
Must it have a public/accessible IP address? | Yes | No | Yes |
Required number of instances in a cluster | 1 | 0 | 1 |
One of the functions of the Storm Streaming Server cluster is the ability to dynamically allocate transcoding resources. Each transcode application has a defined maximum number of simultaneous tasks (e.g., transcoding the original 1080p stream to 720p and 480p versions counts as two separate tasks).
Based on data provided by the ClusterManager, streams with the highest number of viewers - or those indicated based on a defined weight system - are automatically directed for transcoding. Streams can be withdrawn from transcoding if other transmissions are deemed more priority.
A dedicated cluster module for the control panel is available at /cpanel/clustermanager. This module allows viewing all streams within the cluster, along with their statistics, status, and information on whether they are being transcoded or not. In the panel, we can also view information about applications connected to clusters and statistics of their server instances (usage of CPU/Memory resources or the number of transcoded streams).