The goal is to remove the fact that one scheduler is limited to one broker. It was possible to scale brokers by putting several brokers, but so it need to add at least as much scheduler.
One other limitation was for realms setup : you can't have one top level broker, and sub-realms broker too. It was one or the other. It can be a problem for large setups where you want a local WebUI but also a global one on your main datacenter.
That's why this new branch is for. you can also give a try to this (huge?) commit. Now each broker will have a broks queue on the scheduler. The code is mainly missing tests (there is one but it's quite simple, without scheduler headshot or things like that) and a call from arbiter to limit brokers on schedulers (for example if you change the realm topology without restarting scheduler).
To do not break previous behavior broker scaling compatibility, this new behavior is optional, and is setup on the realm level broker_complete_links that must be set to 1 to enable X brokers on 1 scheduler feature. I'm not sure to keep this realm parameter and put it on scheduler level.
One other thing that is now available is to have dedicated brokers by module, for xample you can now have one for graphite, one other for LiveStatus (or two) and a last one with WebUI.
Good test :)
The next big feature will be "arbiter relays" after this multi brokers is fully tested. I let you try to find what this "relay" is about :)