It looks more like different frequency of (single-threaded?) polling of the same broker, than using several brokers.
Right – there is one Snowflake broker, which clients reach via domain fronting and which Snowflakes reach directly.
Different frequency of polling is half of the story. The other half is that the Snowflakes running in browser extensions have a limit of one client they can serve at once, whereas the headless Snowflake have a configurable limit of how many clients to serve in parallel. See the “-capacity” argument to the ./proxy command:
which looks like it defaults to 0:
which I believe means “no limit”.
Load balancing is handled at the broker end: snowflakes say how many clients they’re handling right now when they check in with the broker, so the broker has the opportunity to assign clients to less-loaded snowflakes. I think the load balancing approach is very simple currently.
And as a last note, you can read a big pile of wishlist items on the gitlab tickets: