Question

Nous développons actuellement un serveur par lequel un client demande de l'intérêt pour des modifications d'éléments de données spécifiques et lorsque ces données changent, le serveur renvoie les données au client.Il y a un débat vigoureux en cours sur la question de savoir s'il serait ou non préférable pour le client d'interroger ces données.

Quelle est la méthode idéale, en termes de performances, d'évolutivité et de charge réseau, pour le transfert de données dans un environnement en temps quasi réel ?

Mise à jour:Voici un Lien cela donne matière à réflexion en ce qui concerne les mises à jour de l'interface utilisateur.

Était-ce utile?

La solution

Il n’existe probablement pas de méthode idéale pour chaque situation, mais le push est généralement meilleur et utilisé plus souvent.Il permet d'optimiser la mise en cache du serveur et les transferts de données, ce qui améliore les performances et l'évolutivité, et réduit un peu le trafic réseau en évitant les requêtes clients et les réponses vides.Il peut être important pour un serveur de fonctionner à son propre rythme et de fournir des données aux clients lorsqu'ils sont prêts.

Les normes industrielles - telles que OPC, GID - prennent en charge les deux.Le serveur envoie les mises à jour aux clients abonnés, mais le client peut extraire certaines données rarement utilisées sans se soucier de l'abonnement.

Autres conseils

Tant que le client initie la connexion (pour contourner les problèmes de pare-feu et de NAT), les deux solutions conviennent.

Si vous devez envoyer plusieurs types de données différents, vous souhaiterez peut-être que le client précise le type qu'il souhaite, mais cela n'est nécessaire qu'une seule fois par connexion.Ensuite, vous pouvez demander au serveur de continuer à envoyer les mises à jour telles qu'elles sont disponibles.

Il y aurait moins de trafic réseau si le serveur envoyait des mises à jour sans que le client ne demande continuellement des mises à jour.

Qu'avez-vous du côté du client ?De nombreux pare-feu autorisent les requêtes sortantes mais bloquent les requêtes entrantes.En d’autres termes, le pull peut être votre seule option si vous naviguez sur Internet, à moins que vous n’envoyiez des e-mails.

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