A lot of this depends on how much data you want to share between servers. You want each server to handle it's own domain, but what about account database, data about who owns what information, topography of domains, are these data going to be central and/or distributed and how do you keep them synchronized. So aside from the workings of the game, there is another set of metadata, which the servers need to communicate about. As for the game data, you will probably pass around events, data objects and information about data ownership and control. On top of this there has to be some in-game clock metadata to keep domains time synchronized.
I would probably use a system of asynchronous queues with different priorities for metadata, requests and response messages. Protocol like XMPP on top of exchanging messages can bring you presence information, authentication, encryption and other advantages. But at the start, the delivery protocol itself is not as important as the structure of the messages and the exchange of the data. In essence delivery protocols are interchangeable.
Example: One player sends a game unit X from domain A to domain B. Domain A server sends message with event to domain B server. While processing queue of events, B receives message and sends a requests to a request queue on A for data about unit X and permission to control/modify data of unit X. Request queue has higher priority and will be handled before other events on domain A. Domain A sends requested data and control token to domain B response queue with highest priority. Meanwhile domain B server already processed 3 other events, not waiting in session.
- Note: A should obsolete, version or remove data about unit X at this point. If a request comes for data from domain C, it should forward this request to server B from now on.
- Note: The above example can be optimized to send data about unit X directly with corresponding event, but I wanted a simple example to illustrate.
The important thing is that you will have to design the data encapsulation protocol, probably some XML schema. The protocol for event handling. List of events, allowed responses, error messages, recovery. Those are all game specific.