I believe the current implementation wont scale because instances won’t be able to handle every subscribed federated action. Having a hub server doesn’t reduce the number of subscribed federated actions, only whom they come from.
There is no need to “maintain all of the connections”. The server opens a connection, sends the data, then closes the connection.
Yes, it is a “full mesh” diagram. But for each specific “federated” action, it is a simple hub and spoke distribution. The hosting server will send the federated action to each subscribed node. The nodes don’t need to check in with each other for that specific action.
I too believe that Federation is going to have scaling issues. But not due to full mesh
The node still needs to receive every subscribed federated action and insert it into the local database. This has to be local to the “main application server”. Your proxy servers don’t reduce the number of federated actions. It only reduces the number of servers needed to communicate with.
I feel that the bottleneck will be the total number of federated actions, not which servers deliver them.