2012-12-24 10 views
5

Pracujemy nad budowaniem serwera XMPP od podstaw (ze względu na szczególne potrzeby, które mamy). Jednym z obszarów, w których nie jesteśmy w stanie uzyskać wyraźnego obrazu, jest sposób skalowania XMPP. Załóżmy, że mam 10 000 użytkowników, a każde wystąpienie serwera XMPP może obsłużyć maksymalnie 2000 współbieżnych klientów/połączeń. Będziemy uruchamiać wiele instancji XMPP, a klienci będą go używać do łączenia się z jedną z działających instancji, jak to jest tutaj wymienione: http://xmpp.org/rfcs/rfc6120.html#tcp-resolution-preferW jaki sposób skalujesz instalację XMPP?

Myślę, że wszyscy główni dostawcy usług XMPP używają wielu serwerów, tak jak Google używa 5 serwerów XMPP, jak wspomniano tutaj: http://kingant.net/check_xmpp_dns/?h=kingant.net

Zakładając, że mam dwóch użytkowników: A i B. A łączy się z serwerem_1, a B łączy się z serwerem_2. Kiedy A wysyła komunikat do B, w jaki sposób cały przepływ wiadomości ma miejsce od A do serwera_1 do oddziału_2 do B? Jak serwer_1 wie, że B jest połączone z serwerem_2? Czy odbywa się to za pośrednictwem S2S? Ponownie, interesuje mnie tylko skalowalność, a nie inter-op między dwoma różnymi dostawcami usług XMPP.

Każda pomoc będzie świetna.

+0

Przepraszamy za mój głos; to był błąd. – paulmelnikow

Odpowiedz

1

Nie ma ogólnej zasady skalowania serwera XMPP. To naprawdę zależy od rodzaju projektu, który chciałbyś zbudować. ejabberd oferuje podstawowe narzędzia do tworzenia skalowalnego serwera, ale musisz zrozumieć, jak działa XMPP i jak zaprojektować projekt, aby działał.

Proponuję przeczytać: http://blog.process-one.net/scale_means_skills/

Uwaga: Google ma o wiele więcej niż 5 serwerów XMPP.

Powiązane problemy