Lets say you had 2 Orchestrator Nodes, a Robot would connect to one or the other node, you could specify explicitly which node or you could put your Orchestrator nodes behind a load-balancer to balance the traffic / requests.
This doesn’t solve the problem of the individual Orchestrator nodes knowing the state of everything 100% of the time, you are going to have race conditions with your triggers and health checks, etc. You’ll actually see a symptom of Robot Available Status flip flopping being Available and Unavailable because one node sees the robot available but the other node does not.
The role of HAA / Redis is to keep your Orchestrator Nodes in Sync. HAA is the licensed supported way to go about it, but you are free to role with your own solution, it would just be unsupported.
Multi-node Orchestrator deployments are supported by UiPath only if the UiPath High Availability >Add-on is used.
Such deployments use the RESP (REdis Serialization Protocol) for communication, and thus can be configured using any solution implementing this protocol. The potential solutions tested (but not supported) by UiPath are:
MSOpenTech Redis on Windows v3.0.504
Redis Server v3.2.8 and v5.0.4
Redis Enterprise v5.4.0-19