Skip to content

Cluster operation

Catena SE is designed as cluster software with the following capabilities:

Transcoding distribution

Catena SE has a built-in mechanism that distributes channel processing across available servers and GPUs.

The mechanism does not require configuration. However, customer-provided hardware can vary a lot. If you have questions about the quality of transcoding distribution decisions, contact support.

Enterprise-grade disk storage

Two decades of video storage experience are packaged into Catena SE. We provide software that turns inexpensive servers, without costly storage equipment, into a full private cloud storage for live TV.

We strongly recommend against using network storage arrays that you do not monitor yourself and for which you do not measure the 95th percentile of access latency. If you just deploy some SAN/NAS and assume it will work well for a quality service, use our DVR problem monitoring — it shows read issues very clearly.

As a rule, network storage stands out on the “problems” graph immediately.

Playback load balancing

Any server in a Catena cluster can act as a playback load balancer.

To use it, access a channel with the /lb/-/<channel-name> prefix — Catena SE will automatically redirect you to the streamer node that currently serves the requested channel.

Automatic response to hardware failures

Catena SE can automatically respond to server failures.

When a server goes down, its channels are automatically moved to other running servers.

To avoid service loss, keep utilization below the maximum and plan capacity so that there is spare headroom. One powerful server is worse than three mid-range ones — you will effectively make the service hard to maintain and support.

Load balancer redundancy is more complex. You have a few options:

  • Add multiple different IP addresses to the DNS name and hope the client tries them until it finds a working one. In practice, you can rely on this mostly with web browsers. Remember that DNS caching lasts hours or even days, so your changes will propagate slowly.
  • Add several hostnames to the client application and let the app try them for playback. This is the simplest and most practical option.
  • Implement a more complex floating-IP setup. In this case, you must configure your network so that a router tracks which server is alive and serves the dedicated load balancer IP on the alive server. This requires configuring BGP, OSPF, or CARP-like protocols. This may be needed for legacy clients that cannot be updated.