J'évalue actuellement Pusher et PubNub pour permettre des communications bidirectionnelles en temps réel entre mes clients principalement Web et mes serveurs. Les deux sont impressionnants, les documents de Pusher semblant meilleurs, et l'évolutivité et la fiabilité de PubNub sont clairement un point fort pour eux.
Cependant, comme je gère un budget, je crains que les coûts de Pusher & PubNub ne deviennent un problème pour nous, et j'envisage donc d'utiliser l'une des alternatives open source - j'ai principalement examiné Socket.io, Faye et jWebSocket.
J'ai mes préoccupations si je gère le service moi-même:
Merci pour le conseil.
Faye utilisant Node.js a été très facile à configurer pour moi et a d'abord très bien fonctionné lors des tests. Cependant, même si la charge sur mon application n'est que d'environ 10 demandes par seconde avec environ 3000 connexions ouvertes - lorsque je l'ai commutée en direct, l'utilisation du processeur node.js était épinglée à 100% (1 cœur sur 8 disponible sur ma boîte). J'étais un peu déçu par cela et j'attendais plus.
J'ai envisagé d'utiliser redis ou d'exécuter plus d'une instance de nœud sur différents ports, puis de répartir la charge à la fin de mon application, mais en regardant les prix de PubNub, il semblait beaucoup plus facile de simplement leur décharger tout cela.
Après avoir essayé à la fois Pusher et PubNub, j'ai trouvé que PubNub était à la fois moins cher et beaucoup plus faible latence pour moi (je suis hébergé à Singapour et alors que Pusher était ~ 500 ms pour moi, PubNub était ~ 250 ms aller-retour pour moi à partir de mon application). Si vous êtes hébergé aux États-Unis, la différence serait probablement bien moindre.
J'ai également regardé Ape-Server mais je n'ai pas trouvé de bons tutoriels/documentation pour configurer un modèle de publication/abonnement, alors sautez-le - mais peut-être êtes-vous plus intelligent que moi et aurez une meilleure expérience :)