2012-12-24 11 views
5

Stiamo lavorando alla creazione di un server XMPP da zero (a causa di esigenze specifiche che abbiamo). Una delle aree in cui non siamo in grado di ottenere un'immagine chiara è come ridimensionare XMPP. Supponiamo di avere 10.000 utenti e ogni istanza del server XMPP può gestire un massimo di 2.000 client/connessioni simultanee. Noi correremo esempio multiplo di XMPP e clienti utilizzeranno questo di connettersi a uno dell'istanza di esecuzione come è menzionata qui: http://xmpp.org/rfcs/rfc6120.html#tcp-resolution-preferCome si ridimensiona l'installazione XMPP?

penso che tutti i principali fornitori di servizi XMPP utilizzano più server, come Google utilizza 5 server XMPP come è menzionato qui: http://kingant.net/check_xmpp_dns/?h=kingant.net

Ora supponiamo di avere due utenti: A e B. A si connette a server_1 e B si connette a server_2. Quando A invia un messaggio a B, come avviene l'intero flusso di messaggi da A a server_1 a sever_2 a B? In che modo server_1 sa che B è connesso a server_2? È fatto tramite S2S? Ancora una volta, mi preoccupo solo della scalabilità e non dell'interoperabilità tra due diversi provider di servizi XMPP.

Qualsiasi aiuto sarà grande.

+0

Ci scusiamo per il mio voto ravvicinato; è stato un errore. – paulmelnikow

risposta

1

Non esiste una regola generica su come scalare un server XMPP. Questo dipende molto dal tipo di progetto che vorresti costruire. ejabberd offre gli strumenti di base per creare un server molto scalabile, ma devi capire come XMPP lavora nei dettagli e come progettare il tuo progetto per farlo funzionare.

vi consiglio di leggere: http://blog.process-one.net/scale_means_skills/

Nota: Google ha molto molto di più di 5 server XMPP.

Problemi correlati