Node.js avec la Prise.io module vs XMPP - avantages et inconvénients
J'ai un Node.js avec la Prise.io application de chat et une XMPP Openfire système de chat. Je suis impatient de remplacement XMPP avec Node.js et de la Prise.io. Cependant, il est question que, Node.js avec la Prise.io aurait un problème si le serveur tombe en panne et remonte en ligne, il serait un goulot d'étranglement syndrome ou peut-être impossible de se reconnecter de 10 000 de ses utilisateurs en ligne. Est-ce vrai?
Une autre question. Dans ce cas, XMPP être plus approprié que le Socket.io et vice-versa?
Vous devez vous connecter pour publier un commentaire.
XMPP est un protocole de communication standard pour message-oriented middleware (Wikipedia).
Node.js est un JavaScript outil de développement pour la création de services réseau.
Ces deux choses n'ont pas vraiment comparer. Si vous avez construit une application de chat avec la prise.io, il est possible qu'il souffre de goulot d'étranglement du syndrome, mais cela dépend beaucoup sur le code de votre application.
En général, si vous voulez aller au-delà de la simple navigateur basé sur le chat, j'avais sérieusement envisager de XMPP (aka. Jabber), puisqu'il n'y XMPP clients facilement disponible pour tous les OS es.
Je pense que les pros de Node.js sont qu'il est écrit dans une langue communément comprise (Javascript) plutôt que XMPP serveurs dont les plus courantes sont écrit en erlang/Java qui ne sont pas largement compris.
Si vous voulez avoir le plein contrôle sur le comportement du serveur et d'écrire des modules intelligents alors je soupçonne que le nœud sera la meilleure solution pour vous.
La place qui Node.js pourrait tomber, c'est que si jamais vous avez besoin à l'échelle au-delà d'un serveur, vous allez avoir à concevoir cela dans votre nœud de l'application. Je crois que eJabberd et Openfire à la fois en charge les clusters de la boîte de sorte que tous vous avez besoin à faire est de mettre un autre serveur en ligne, configurez les deux à parler les uns aux autres et vous partez.
Dans l'ensemble, mon conseil pour vous serait que si le courant XMPP système fonctionne bien pour vous, alors que je venais de rester avec elle.
Que mikl a dit, XMPP est un protocole et non pas un cadre d'application.
Vous pouvez construire XMPP applications NodeJS, de la même manière que vous pouvez construire SocketIO applications NodeJS. La différence est que OpenFire et ejabberd ont été autour et testé pendant un certain temps contre une solution vous feriez construire sur votre propre. Cela ne signifie pas que vous devriez le faire, mais cela ne signifie pas que vous devriez avoir un bon business case pour le faire.
Si vous êtes à la configuration de votre infrastructure en place correctement, vous pouvez le faire dans pratiquement n'importe quel cadre. Afin de minimiser les temps de latence lors des pointes vous devez équilibrer la charge de vos demandes qui seront probablement nécessaires avec n'importe quel système.
Vous pouvez également vérifier le xmppjs bibliothèque conçu pour fonctionner avec node.js.
http://xmppjs.prosody.im/