Realtime Database supports transactions. Clients must all agree how to cooperate with respect to these transactions. The database doesn't support any sort of operation that locks the entire database in order to serialize access from all client. You need to understand how RTDB transactions work in order to make effective use of them. Not all writes will require a transaction, and you need to figure out for yourself when and how best to use them in your particular application.
Since Realtime Database is a cloud-hosted database, you don't need to know (or care) about any sort of master/slave configuration. In fact, you can just assume that it works as the documentation suggests. The documentation suggests that it's eventually consistent if the client is offline at the time of a write operation (which will be cached locally and synchronized when it becomes online). It's immediately consistent if the client is already online, and the client is willing to "wait around" for the latest update as it listens to changing data in the database, whenever it becomes available to the client. (There are actually no "replicas" to speak of with Realtime Database, except the local caches that each client may maintain for themselves for data previously read.)