Stream Manager 2.0 Node Scaling States
As Red5 Pro nodes are scaled in and out, they go through a series of states. These states are used by the Stream Manager to determine the current state of the node and to make decisions on how to scale the node group. The states and their flow are as follows:
- REQUESTED: Node was requested by Autoscaling Service
- CREATING: Node is being created by Terraform Service
- CREATED: Node was created by Terraform Service
- STARTED: Node is up, but not configured yet. Set when node was in the CREATED state, and we received ClusterNodeEvent message. If node is required further configuration, it will be set to INSERVICE.
- INSERVICE: Node is up and fully configured
- SOFT_SUNSET: Autoscale Service expects Stream Service to stop sending new streams to the node.
- HARD_SUNSET: Node is still has clients, but we can’t wait anymore until they go away by themselves, so now we asked node to kick out all clients (sent RemoveSubscribers node command).
- DESTRUCTION_REQUESTED: Autoscale Service sent destruction request to the Terraform Service
- DESTROYING: Node is being destroyed by Terraform Service
- DESTROYED: Node hsa been removed by Terraform Service
- FAILED: Node somehow failed
The following diagram shows the flow of the states:
