web-dev-qa-db-fra.com

Serveur XMPP: ejabberd vs openfire vs prosody

J'essaie de comprendre comment fonctionne XMPP (débutant total dans les protocoles en général) et je veux configurer un serveur.

Jusqu'à présent, j'ai vu 3 principaux challengers:

  • ejabberd
  • tirer
  • prosodie

J'ai vérifié sur un site Web et sur le wikipedia , mais je ne peux pas voir les avantages et les inconvénients de chacun d'eux.

Où puis-je trouver des informations compréhensibles?

PS: si le contexte est important, je veux configurer mon serveur sur mon Raspberry Pi personnel (donc pas beaucoup de puissance de traitement), et mon objectif ultime est d'utiliser XMPP pour un peu Android app en utilisant la messagerie google cloud

17
Dan Chaltiel

Ayant été impliqué dans le test d'un client Web XMPP open source ( JSXC ) contre ejabberd et Prosody , J'ai remarqué les différences suivantes. Veuillez noter que j'ai fait plus avec ejabberd, donc il y aura naturellement plus de piqûres, mais aussi plus d'éloges.

ejabberd

Avantages

  • Les mécanismes qui ont été mis en œuvre sont généralement solides , probablement du fait qu'une entreprise est derrière elle, offrant des services qui nécessitent cette qualité.
  • Avec ejabberdctl et l'interface Web d'administration, il est possible de configurer beaucoup de choses pendant le processus . Même si vous devez toucher fortement les fichiers de configuration, leur rechargement fait la bonne chose sans interruption.
  • ejabberd peut facilement être transformé en un cluster pour la fiabilité ou les performances
  • Livré avec un serveur intégré STUN/TURN
  • Les groupes de fichiers partagés sont très puissants, mais doivent également être habitués.

Les inconvénients

  • La documentation est principalement basée sur des options, c'est-à-dire que les options sont décrites, similaires à une page de manuel. Il y a peu d'exemples et encore moins de descriptions de la façon dont les options interagissent, quelle serait la meilleure utilisation, ou où vous mettriez l'option, en particulier dans un environnement d'hébergement virtuel.
  • Si vous voulez étendre ejabberd, vous devez être capable de saisir Erlang , un langage très puissant, mais avec quelques différences par rapport aux langages de programmation que la plupart des débutants apprennent.
  • Découverte de service externe (extdisco) n'est pas (encore) pris en charge non plus.

Prosodie

Avantages

  • A beaucoup de modules communautaires , en raison de l'accessibilité plus facile de la programmation Lua Langue.
  • En tant que projet communautaire pur, si vous voulez investir du temps, vous pouvez vraiment façonner le projet.
  • prend-il en charge extdisco (nécessite moins de configuration client) et mam:2 (mieux pris en charge par les clients)

Les inconvénients

  • Certains modules (pour moi, le plus notable était le mécanisme d'authentification externe) sont peu fiables .
  • Doit être redémarré pour plus de mises à jour de configuration, c'est-à-dire que les clients seront déconnectés et devront se reconnecter, provoquant généralement est déconnecté/se connecte notifications aux utilisateurs. [Mise à jour: je connaissais mod_reload_modules , ce qui aurait évité certains ou ces redémarrages. Merci, drs!]
  • Pas de persistance pour les données PEP/PubSub ( Personal Eventing Protocol; Publish-Subscribe ). Cela le rend inutilisable pour les signets (par exemple, les chats multi-utilisateurs) et les réseaux sociaux basés sur XMPP tels que Movim
11
Marcel Waldvogel

Logiciel serveur My Top XMPP

Haut: Utilisation statistique

  • 1) Ejabberd (61,6279%)
  • 2) Prosodie (17,0543%)
  • 3) OpenFire (7,36434%)

Haut: Utilisation multicœur

  • 1) Ejabberd et Openfire

  • 2) ---!

Haut: Utilisation de la mémoire

  • 1) Prosodie
  • 2) Ejabberd
  • 3) Openfire

Haut: Administrateur Web

  • 1) Openfire

  • 2) Ejabberd

  • 3) non (par défaut)

Haut: Langage de programmation

  • 1) Openfire (Java) et Prosody (Lua)

  • 2) Ejabberd (Erlang)


Personnel/Raspberry Pi/ejabberd vs openfire vs prosody = (Mon choix) Prosody


Utilisation statistique (Wiki russe):

http://jabberworld.info/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D1%80%D0%B0%D0%B1%D0 % BE% D1% 82% D0% B0% D1% 8E% D1% 89% D0% B8% D1% 85_% D0% BF% D1% 83% D0% B1% D0% BB% D0% B8% D1% 87 % D0% BD% D1% 8B% D1% 85_% D1% 81% D0% B5% D1% 80% D0% B2% D0% B5% D1% 80% D0% BE% D0% B2_Jabber

Critique (Wiki russe):

http://wiki.404.city/%D0%94%D0%B6%D0%B0%D0%B1%D0%B1%D0%B5%D1%8

11
userfllsdcfcgr887

Si vous utilisez votre serveur sur RaspberryPI, je choisirais Prosody. Il est très léger et écrit en Lua.

Openfire est Java et a besoin d'une bonne quantité de ressources pour fonctionner, même dans un petit environnement.

Il existe de nombreuses alternatives minimalistes, mais tout dépend du niveau de fonctionnalité que vous recherchez.

4
kincaid