Does Centova Cast support clustering?


Does Centova Cast support clustering?


The term "clustering" does not have a well-defined meaning when used in reference to streaming servers, so this depends on the type of clustering to which you are referring. The three most common meanings include:

Single sign-on / distributed provisioning

This is used if you have a large number of users and want to spread them out across multiple physical servers.

Centova Cast includes a single-sign-on feature through which you can configure a single login form as the point of access for all of your physical servers. This allows clients to login to their account (regardless of which physical server it's hosted on) through a single login form, and it allows the admin to obtain an overview of all physical servers (and manage them) through a single interface. This is ideal for stream hosting scenarios where the host manages multiple physical servers with different clients on each server.

If you are using a billing system to automatically provision your accounts, Centova Cast also includes a feature called API Clustering which dramatically simplifies the process of provisioning accounts across your "cluster". Simply setup a single, "master" server in your billing system and Centova Cast will automatically determine the best server in the "cluster" on which to provision each new account.

Relay clustering

This is used if you have one or more high-traffic streams which cannot entirely be served from a single physical server.

In this scenario, you would provision multiple physical servers which act as "relays" for the ShoutCast stream. Each relay contacts the ShoutCast stream and acts as a "repeater", rebroadcasting the stream to reduce the load on the main physical server.

Centova Cast does fully support relaying, however you will need to setup Centova Cast on each of your servers and manually configure each of your relays (this is not done automatically).

High-availability / fault-tolerant clustering

This is "true" clustering in the traditional sense, and is used when stream downtime must be kept to an absolute minimum.

High-availability (HA) clustering solutions are extremely complex, usually depend on custom hardware configurations, and always require installation and ongoing maintenance by a qualified systems administrator who is thoroughly familiar with HA clustering solutions. They require shared storage (NAS, GFS, drbd, etc.), a heartbeat solution, a replicated MySQL database, and many other elements that are not supported "out-of-the-box" by Centova Cast or any other ShoutCast control panel due to the complexity and custom nature of such solutions.

That said, it is certainly possible to use Centova Cast in such a scenario -- for the most part, if your systems administrator is familiar with HA clustering of Apache/PHP/MySQL, the same principles will apply to Centova Cast.

NOTE: This article is for Centova Cast v2 only; an alternate version exists for Centova Cast v3.