However, having to run a master server has some serious drawbacks:
Extra infrastructure. You need to deploy an extra server, or even a cluster of extra servers (for high availability and scalability), just to run the master.
Maintenance. You need to maintain, upgrade, back up, monitor, and scale the master server(s).
Security. You need to provide a way for the client to communicate to the master server(s) and a way for the master server(s) to communicate with all the other servers, which typically means opening extra ports and configuring extra authentication systems, all of which increases your surface area to attackers.