En général, en utilisant des minuteries pour mettre à jour le contenu sur une page via Ajax est au moins aussi robuste que reposant sur une connexion de flux de longue durée comme la comète. Les pare-feu, les baux DHCP courts, etc., peuvent tous interrompre une connexion persistante, mais l'interrogation rétablira une connexion client à chaque requête. Le compromis est que l'interrogation nécessite souvent plus de ressources sur le serveur. Même une poignée de clients interrogeant les mises à jour toutes les 10 secondes peut charger beaucoup plus votre serveur que les utilisateurs interactifs normaux, qui sont plus susceptibles de charger de nouvelles pages seulement quelques minutes, et passeront moins de temps à le faire avant de passer à un autre site . Comme un point de données, une simple application de jouets Sinatra/Ajax que j'ai écrite l'année dernière avait 3-5 visiteurs uniques par jour aux pages normales de «texte», mais son URL de rappel Ajax est rapidement devenue la portion la plus demandée de n'importe quel site sur le serveur , y compris plusieurs sites avec un ordre de grandeur (ou plus) de trafic plus élevé. Une manière de minimiser la charge due à l'interrogation consiste à séparer le code du serveur de rappel Ajax du code de site général, si cela est possible, et à l'exécuter dans son propre processus de serveur d'applications. Ce service de «middleware de service» peut gérer les rappels d'interrogation, plutôt que d'abandonner un thread de serveur/un écouteur Apache/etc. pour ce qui revient effectivement à une question de "sommes-nous encore là?"
Bien sûr, si vous prévoyez seulement d'avoir un petit nombre (disons de moins de 10) utilisateurs utilisant le service de sondage à la fois, allez-y et commencez à l'exécuter dans le même processus serveur.
Merci. Je dois absolument planifier pour plus de 10 utilisateurs. Des recommandations pour commencer à apprendre à configurer un nouveau processus de serveur d'applications? – Brian
Il ne fait que déployer une autre instance de votre pile d'applications.Si vous utilisez PHP sur Apache, par exemple, disposez d'un docroot distinct pour un hôte virtuel qui ne sert que les requêtes Ajax et ne charge pas le reste du code de votre application. Pour les applications Java, disposez d'une servlet autonome pour gérer uniquement les rappels. Etc., etc. Minimisez l'empreinte de votre gestionnaire Ajax, et vous pouvez étirer vos ressources serveur beaucoup plus loin. – rcoder
Oh, je suis allé - merci beaucoup, très utile. – Brian