Let's say my goal is to create a chat service. I also want multiple, discrete chat rooms.
I am leaning toward using XMPP for scaling / load balancing. I read the article here, and I am looking at
Let's say I want to send a message from one client to another. According to this diagram,
1) The sender sends a message to Sender's XMPP Server. 2) Sender's XMPP Server relays the message to the MUC server. 3) The MUC server determines which server the recipient is connected to and relays the message there.
(correct me if I'm wrong)
Two questions:
1) The article suggests clustering the MUC over several servers. Does this mean a) mirror the MUC server's status over sender and recipient servers or b) turn the MUC section of the diagram into multiple servers, and the sender and recipient servers communicate with that cluster, transparently?
2) When a user first connects to a node, how does the network know which server to bind the user to? Is there a single point of entry machine to delegate this?