Spreading out is definitely the way to make this thing work. I’m sure there is more that can be implemented to help with federation speed, making sure you have all comments, etc. Those are solved with a monolith instance, but as we see you need a monster server to do it. I think instances averaging less than a few thousand users each will be the way to move forward.
I believe it is saved first on the instance you’re signed up for, then gets pushed around the network using the Activity pub protocol. So it eventually ends up being stored across many instances of it has far enough reach.
Love that idea. Servers could distinguish if they want to be a general ‘home instance’ for users, and those that opt in could communicate with each other and push accounts around as necessary. Servers could calculate their likelihood to accept a new incoming account based on some heuristics the admin could set, with sensible defaults. That way the system would self-balance itself as new instances appear and as mature ones reach capacity. Of course for that to work there would have to be some central authority keeping track of account locations for login purposes.