Stream Manager 2.0 NodeGroupConfig Examples
About NodeGroupConfig Examples
There are two main categories of examples. The first category is cluster topology, where each example demonstrates a particular arrangement of servers and server relationships. The second category consists of propertyOverrides
examples to dynamically configure various features as Red5Pro servers are deployed. A third, miscellaneous category shows nodes-in-Docker and scheduled use cases.
Note that NodeGroupConfig is documented in the SM 2.0 Admin Service doc, where you will find information about its fields and child objects.
Cluster Topology Examples
These examples demonstrate how NodeGroupConfigs can be defined to acheive various cluster topologies.
All-in-One
This example shows how single role can be defined to handle all traffic. This is useful for development and some test cases, where most testbed functionality can be used with a very small cluster.
Origin-Edge
This example shows a basic production-ready topology. The most important thing is the roles.
Transcoder-Origin-Edge
This example adds a transcoder role with the TRANSCODE capability. Note that the transcoder role does not define any parent role.
Origin-Relay-Edge
To support larger numbers of subscribers, relay nodes can be used. Each relay is the parent of a dedicated group of edges. This is known as “fan-out”.
Transcoder-Origin-Relay-Edge
This combines transcoding with the relay topology.
Multiple Regions
SubGroups can be used to model regions.
Multiple Regions, Origin in One Region
This example shows how to place nodes of a given role in only one region.
Multiple Regions in a Hierarchy of GeoZones
SubGroups can represent any kind of hierarchical grouping, not just regions. Here we group regions together into “geo zones”.
propertyOverrides
Examples
These examples demonstrate how to configure various features on the Red5Pro cluster nodes. Configuration is modified when new cluster nodes are created.
Cluster Reporting Speed
The Red5Pro Server nodes report status periodically. The default value is 1000 milliseconds, but this can be changed.
Interstitial
Enable the Interstitial API.
See also Interstitial Media Insertion API
Max Publishers/Subscribers
Limit the total max publishers and subscribers per NodeGroup.
Pre-Processor
Pre-processing can be used to normalize the stream to Baseline for WebRTC delivery, as well as to scale or otherwise reencode the input stream.
See also Preprocessor
Cloud Storage/DVR
Post-processing for cloud storage/DVR functionality using Amazon S3.
See also VOD via Cloud Storage
Round-Trip Authentication
Enable round-trip authentication using a third-party remote host.
See also Simple Authentication Plugin.
Social Media Pusher
Enable Social Media Pusher API.
See also Social Media Pusher
WebHooks
Enable and configure WebHooks.
See also Social Media Pusher
Miscellaneous Examples
These examples show other cases not demonstrated above.
Transcoder with Pre-Processing
This example shows how propertyOverrides
can be used at the role level to define preprocessing only for transcoder nodes.
Scheduled NodeGroup
A scheduled NodeGroup that is only active on weekends.
Scheduled Overlay
This example shows how a given NodeGroup’s configuration can be modified on a schedule, where more nodes are available on weekends.