Question

Je souhaite implémenter une salle de discussion évolutive dans des rails utilisant AJAX. D'après les recherches, je sais que la seule évolutivité se produit avec un push côté serveur.

Mes deux questions sont les suivantes:

1) Dans un serveur de discussion raisonnablement efficace, à quel moment l'interrogation devient-elle prohibitive? 2) Je ne veux vraiment pas utiliser Juggernaut. Je ne sais pas trop comment fonctionne la comète. Je suppose que je me demande si ce serait terriblement difficile pour moi de construire en utilisant Javascript (pour créer un serveur / polleur côté client) et un autre langage (pour permettre une interrogation efficace des clients derrière un pare-feu et une intégration dans le CGI). et 3) (oui, sur 2), si j'y vais même de la bonne façon?

La réponse la plus simple que je puisse espérer est un chiffre "oui, vous insérez 5 lignes de Javascript dans le client et 20 lignes de ruby ??dans un script CGI, et vous l'appelez un jour".

Était-ce utile?

La solution

Si c’était si facile à faire, les gens n’auraient pas construit ces technologies. IMHO Je pense que les sondages vont toujours être une façon détournée de le faire. Cela a dit ....

Je ne suis pas sûr de savoir pourquoi Juggernaut n’est plus sur les cartes. Un type qui travaille pour a construit ce site 64Squares avec et cela fonctionne très bien.

Je connais d’autres sites tels que WeeWar qui utilisent la méthode de sondage et qui ont demandé 400 ou plus une demande min. Je pense donc que cela prendrait un certain temps avant que la mise à l'échelle ne devienne un problème.

Bonne chance

A bientôt

Autres conseils

J'essaie de faire la même chose maintenant. Juggernaut fonctionne bien, mais pas pour Rails 3, et si ce n'est pas une exigence, je suggère de l'utiliser, car il est très facile de discuter. Mon projet utilise Rails 3 et interroge le serveur toutes les 3 secondes (Campfire en utilise également 3). J'utilise Rails Metal pour rendre le vote ultra rapide. Si vous voulez utiliser Juggernaut, alors super, 2 lignes du côté client js et 1 ou 2 du côté serveur. Sinon, au travail!

oui, vous mettez 5 lignes de Javascript dans le client et 20 lignes de ruby ??dans un script CGI, et vous l'appelez un jour

COMET fonctionne en gardant la connexion au serveur ouverte en Javascript (de nombreux exemples expliquent comment obtenir ces données asynchrones sur le site Web de COMET). Le serveur écrit essentiellement les données et les efface. Cela peut être fait en utilisant un Mutex dans une boucle serrée. Vous aurez probablement aussi besoin d’une file de messages.

Il serait peut-être préférable d’en savoir plus sur BOSH courir. C’est la progression naturelle de COMET.

Bien que Juggernaut ait une courbe d’apprentissage (ou pas forcément), l’apprentissage de la COMET est plus raide. Même juste async pousser est plus difficile. Non seulement cela, mais vous devez ensuite examiner comment bien le faire évoluer. Je n'ai jamais utilisé Juggernaut, mais pour ce qui est des plugins ROR, je suppose que c'est trivial. Et s’ils trouvent le moyen de l’améliorer, vous bénéficierez gratuitement de performances plus rapides.

L'interrogation est une autre option qui devrait techniquement être plus simple . Cependant, je suis passionné par le fait que l'interrogation ne soit pas utilisée, car elle risquerait de tuer votre serveur. Je ne vais donc pas en parler ici, car j'estime que polling est la route paresseuse.

Qu'en est-il de Campfire? Il interroge le serveur toutes les 5 secondes. Fonctionne comme un rêve.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top