Introduction to Clusters - Storm Streaming Server

The Storm streaming server was designed from the beginning with scalability and ease of expansion in mind. Scalability not only allows for an increase in the maximum number of viewers for the entire system but also provides redundancy in case one or more servers fail.

General Concept

A cluster in Storm Streaming Server consists of three basic components - an Origin application, which is responsible for receiving the stream from an encoder (e.g., OBS), an Edge application, which replicates the stream from the aforementioned Origin and distributes it to end users, and a ClusterManager, whose task is to exchange data between all components. Each server instance can contain any number of Origin and Edge applications.

Detailed Cluster Components Description

ClusterManagerThis is a special cluster controller responsible for effective communication between all connected applications. It informs connected Edge-type applications about new streams or changes in their states (e.g., a stream has ended), which it receives from Origin-type applications. A single Storm Streaming Server can have only one ClusterManager instance enabled, but each application (edge/origin) can define more than one connection with such for redundancy.
Origin-type ApplicationThis is a specialized cluster application that essentially performs two roles - it receives a stream (e.g., from OpenBroadcaster) and transcodes it if configured. Upon any change in the stream's state, it informs one or more ClusterManagers about the fact, which then disseminate the information further to Edge servers. The configuration of the Origin Application itself is very similar to live applications and more can be learned in the Origin Application configuration section.
Edge-type ApplicationEdge-type Application - The role of this application is to distribute the stream to the end user, the viewer. This application draws information from the ClusterManager about where individual streams are located, and then replicates them. Any change in the stream state on the Origin server is automatically reflected on the Edge server. An Edge-type application cannot receive streams nor can it transcode them. Detailed guide for Edge can be found in Edge Application configuration section.
Table 1. Detailed cluster components description table

Control Panel

A dedicated module devoted to the cluster is also available in the control panel. By navigating to http://.../cpanel/clustermanager, you gain access to a list of applications logged in the cluster (along with detailed information about them) and the currently stored global list of streams. These subpages allow you to quickly verify whether servers are correctly logging into the ClusterManager and whether the streams are indeed being published there.

For more information regarding Storm's Control Panel, please check our Control Panel Guide.

Next Step

Please check Basic Cluster Configuration as the next step in a cluster configuration.