Were I designing it, I'd have a login server, which validates you and then hands you a new place to connect to, for your actual sustained connection. All data is shared between the servers (or rather, replicated between them; SQL is your friiiiiend), and you just get handed off to whatever actual messaging server has the least load at the time you connect.
Yup although for a truely scalable solution you wouldnt want to rely on a single sql server, you would want the servers to replicate the routing data themselves and store that data in memory for maximum speed and to help keep the load of your sql servers.
In theory, this would allow for a lot of scalability; getting loaded down, just add another server into the cluster and voila, it automatically starts sharing the load.
Yup exactly.
Of course, that's harder to do under XMPP since I don't believe we have any proposed extensions to validate login via one server and connect on another, much less split incoming messages out across different actual servers in a cluster.
There isnt a token style login mechanism that you describe but connections can be redirected to another server, i.e. redirect connections to a server under lower load. Also there is nothing in the protocol that causes problems with splitting incoming messages out over multiple servers in a cluster, and it doesnt need any specific protocol to be developed for it to work, its simply a server design and architecture issue.
Richard
_______________________________________________ jdev mailing list [email protected] http://mail.jabber.org/mailman/listinfo/jdev
