This router manages to operate with multiple brokers. The idea is pretty straightforward, you define which broker runs on which node, they use the same url, but different queues.
Running default worker command will not work, since it wouldn't be able to decide which broker to run. To surpass this issue, we can define custom receiver class, which picks a broker based on node parameter.
Now insted of
taskiq worker a:router
We shoud run
taskiq worker a:router --receiver router:RoutedReceiver --receiver_arg node=NODE1
Of course, on different nodes you would have to specify different node arguments to our receiver.