Cluster Ingest¶
Cluster Ingest is a resilient capture mechanism that preserves a single-active-ingest guarantee from the source. Use it when you need reliable video reception but each extra connection to the source is costly, undesirable, or impossible.
How Cluster Ingest works¶
In this scenario only one streamer captures the external feed at any time. Others stay in reserve and do not open a second connection to the source.
A typical diagram:
flowchart LR
source["Source"] --> primary["active origin"]
primary --> edge["edge server"]
edge --> player["player"]
backup -.-> edge
central["controller"] -- controls --> primary["primary streamer"]
central -- controls --> backup["backup streamer"]
In Agora the controller implements this pattern. It tracks streamer health and switches capture. If the primary streamer is down, the controller tells the backup to start capture.
Resilience comes from controlled handover of active capture between streamers, not from parallel duplicate ingest.
When to use it¶
Cluster Ingest fits when:
- each subscription to the source is expensive;
- duplicate connections are undesirable;
- bandwidth cannot carry two copies of the same stream;
- you need resilience at capture time without duplicating the input.
A typical case is moving a video feed from headquarters to a region where a second full copy would be too costly or not allowed.
What this scenario provides¶
Main benefits of Cluster Ingest:
- resilience at the capture layer;
- preserves single-active ingest from the source;
- avoids constant duplicate traffic from the source;
- can move capture to a backup streamer when the primary fails.
Limitations and requirements¶
When designing Cluster Ingest, account for:
- correct streamer health checks from the
controller; - time to detect primary failure;
- time to switch capture to the backup;
- source behavior on reconnect after failure;
- configuration consistency between primary and backup streamers.