Server cluster
Clustered architecture, where the application server runs in multiple instances. The managed branches are distributed across these instances. If one node fails, the remaining nodes take over its branches. When a new node joins the cluster, the branches are redistributed among the nodes (sharding). Incoming HTTP requests can be directed to any node, as requests for branches not served on the receiving node are internally redirected to the appropriate node.
Advantages
- Redundant operation
- Sharding-based branch allocation
- REST calls can be sent to any node and are internally redirected to the appropriate node
- The number of nodes can dynamically change based on load, with branches automatically reallocated according to the new distribution
Disadvantages
- An external database is mandatory
- An external NATS message bus is required for communication between nodes
Fully Redundant Cluster
Achieving full redundancy requires both the database and the communication message bus (NATS) to be clustered. In this configuration, every Q-net Pro 7 server connects to the locally running message bus and locally running database.