Child Nodes (Clustering)

Child Nodes are multiple servers running Shinobi but one in the group of servers is designated as master while the others are designated as children. the children connect to the master and allow the master to spawn the video processing operations on them, the master automatically decides which to spawn upon and tries to keep the load even among each of them. Essentially the Master acts like a normal Shinobi server, the users who connect to it won't notice anything different aside from low resource use displayed (since master only displays its own resource use). Recorded videos are automatically sent back to master for storage and post processing. Child Nodes can do a few other things like run their own AI plugins on each as well.

Important Note : Child Nodes can go up and down without much issue but the obvious problem with this method remains that the entire cluster relies on the life of the Master server. Master going down means it all goes down.

Information about using Child Nodes : https://docs.shinobi.video/system/cluster-management

Central Management (Recommended)

Central Management is a glorified proxy server. Using custom connection methods it acts as a unified location to view monitors from multiple individual Shinobi servers, each Shinobi server is technically independent in its operation but allows central to modify or access those operations. Very simply, the central is another interface that allows you to see multiple Shinobi in one place.

Information about Central Management : https://docs.shinobi.video/system/central-management

Why is Central Management Recommended over Child Nodes?

The major reason being the Child Nodes can become entirely inoperable if Master server goes down.

Central Management is currently under development and is becoming more robust each iteration. Each Shinobi server connected to it is operating independently which lowers possibility of complete system failure.

Central allows you to manage all the cameras from a single interface across the independent servers, even moving camera from one server to another. This is a great solution for multiple enterprise deployments or multiple small deployments.

Why user either of these?

If you have a large number of cameras to manage one of these solutions is a good way to manage this. Splitting load across multiple physical servers allows you to balance the resource usage by your cameras.