Serveur XMPP / Jabber avec une grande quantité d’utilisateurs / clients

Marteau

Serveur XMPP / Jabber avec une grande quantité d’utilisateurs / clients


Je travaille sur une application pour fournir un service de chat aux utilisateurs d’un site social. Avant de commencer, je ne connaissais pas le protocole XMPP, et j’ai développé près de 50% des opérations de chat de base sur le serveur sans suivre ce protocole. Mais maintenant, je veux utiliser ce protocole et l’un des serveurs open source disponibles, et jeter mon propre programme (ce qui est très difficile pour moi).

J’ai besoin d’un serveur XMPP qui

  • est évolutif
  • peut gérer entre 10 et 15 millions d’utilisateurs
  • fonctionne sous Linux et / ou Windows
  • est Open Source

J’ai besoin de la plupart de leurs connexions vivantes la plupart du temps.

Nous voulons délivrer tous les messages immédiatement même lorsque l’utilisateur n’est pas dans l’application (par exemple dans Android en exécutant une activité de service / thread).

J’ai besoin d’aide, veuillez présenter un programme open source de serveur Jabber / XMPP qui est capable de le faire (et fonctionne sous Linux et / ou Windows).

J’ai besoin de fournir un programme comme Nimbuzz avec une certaine différence et une personnalisation.

unor

Hammer, j’ai édité votre question. Veuillez vérifier si je n’ai pas changé vos intentions et modifier votre question si quelque chose ne va pas ou si vous avez plus de détails.

Marteau

Merci, c’est plus clair maintenant.

Réponses


 Simon Zelazny

Divulgation: je travaille sur MongooseIM.


Je recommande l’un des serveurs basés sur Erlang: MongooseIM ou ejabberd . MongooseIM était à l’origine une fourchette d’ejabberd, mais les bases de code ont beaucoup divergé ces dernières années.

Ces serveurs se distinguent parmi les autres options non pas en termes de richesse de fonctionnalités ( ils offrent cependant de nombreuses fonctionnalités ), mais parce qu’ils exploitent les mécanismes d’évolutivité offerts par la plate-forme Erlang / OTP. Pour répondre à vos points:

est évolutif

Erlang est incroyablement évolutif. WhatsApp est le dernier enfant de l’affiche pour l’évolutivité Erlang, mais si vous cherchez sur Google, vous en trouverez beaucoup plus.

peut gérer entre 10 et 15 millions d’utilisateurs

Si vous souhaitez évoluer vers des millions d’utilisateurs, préparez-vous à créer un cluster de machines robustes avec beaucoup de RAM (ces deux serveurs sont liés à la mémoire). Il y a des déploiements à l’état sauvage avec environ 2 millions d’utilisateurs à ma connaissance. Le chat de League of Legends gère plusieurs clusters fédérés qui traitent 70 millions d’utilisateurs, mais ils utilisent un ejabberd très fortement modifié.

fonctionne sous Linux et / ou Windows

Vous feriez probablement mieux de tourner sous Linux. Erlang fonctionne sur Windows, mais je ne sais pas dans quelle mesure les applications à grande échelle fonctionnent sur la plate-forme.

est Open Source

Oui, les deux sont open source, sous licence GPL.

Marteau

Merci, j’ai cherché et lu quelques articles sur MongooseIM et ejabberd et je les ai trouvés incroyables. MAIS il y a un problème et c’est la langue ERLANG. Il a une syntaxe et des structures très très très dures et différentes. Comme je l’ai dit, je dois ajouter des fonctionnalités au serveur pour les utilisateurs et écrire ma propre application client. Je pourrais peut-être utiliser des clusters (quel est le meilleur candidat pour ces termes). J’ai besoin de ton aide. VEUILLEZ ne pas me laisser échouer.

Simon Zelazny

Hey Hammer – Erlang a une syntaxe étrange, mais ce n’est pas très difficile à apprendre. Les modules Ejabberd / MongooseIM sont assez simples à écrire. ( process-one.net/en/wiki/ejabberd_module_development ) ( github.com/esl/MongooseIM/wiki/hooks-and-handlers ). Combien de temps êtes-vous prêt à consacrer?

Marteau

Je veux terminer mon projet est finalement jusqu’à 6 mois. Edit: j’ai commencé à programmer l’application côté client.


 Mickaël Rémond

ejabberd a un grand nombre de déploiement à grande échelle et est utilisé par Nimbuzz.

La communauté ejabberd a commencé à créer une page Web avec des cas d’utilisation pour les déploiements de serveurs ejabberd XMPP. Ce n’est qu’un petit sous-ensemble d’entre eux, qui comprend des variantes d’ejabberd (comme l’édition Business) et uniquement ceux qui ont divulgué leur utilisation d’ejabberd (je connais beaucoup plus de cas qui ne veulent pas divulguer leur utilisation).

Référence: page Cas d’utilisation sur le site de documentation d’ejabberd .

 

/, #(une, avec, Clients, d’utilisateurs, grande, Jabber, quantité, serveur, XMPP

 

elle.fr

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *