Que sont les & # 8220; Jetty 6 Continuations & # 8221; et comment se comparent-ils aux suites trouvées dans les langages de programmation?

StackOverflow https://stackoverflow.com/questions/1204355

  •  05-07-2019
  •  | 
  •  

Question

Je cherche une réponse décrivant une "suite". mécanisme dans un serveur Web contre un langage de programmation.

D'après ce que je comprends, l'utilisation de suites, il est trivial d'avoir un "digits of pi" Le producteur communique avec un " chiffres de pi " consommateur, sans thread explicite.

J'ai entendu de très bonnes choses à propos des poursuites de Jetty. Je suis curieux de savoir ce que les autres pensent.

J'ai peut-être déjà trouvé ma réponse, mais je pose quand même la question ici - pour mémoire.

Était-ce utile?

La solution

  

comment se comparent-ils aux suites trouvées dans les langages de programmation?

Ils n’ont rien en commun à part le nom. Il s'agit simplement d'un mécanisme permettant de libérer le thread actuel en fournissant à Servlet une API permettant de stocker et de restaurer son état, mais le tout étant géré manuellement par opposition à des continuations réelles, où l'état est automatiquement déduit du contexte actuel. .

L'exemple type pour les cas où cela a du sens est celui des services Web en couches (composés), où un service doit faire de nombreuses demandes à d'autres services et pendant que ces demandes sont effectuées, le fil actuel est libéré. Une fois les requêtes terminées (ce qui peut être fait de manière asynchrone sur d’autres threads), la méthode resume du servlet est appelée, qui assemblera ensuite la réponse à partir des résultats des requêtes.

Autres conseils

Selon cette page :

  

les continuations seront remplacées par   Servlet-3.0 standard pouvant être suspendu   demandes une fois que la spécification est   finalisé. Premières versions de Jetty-7   sont maintenant disponibles qui implémentent la   API de suspension / reprise standard proposée

Je n'ai pas encore utilisé Jetty, mais il semble que, dans les cas de continuité, le serveur ne soit pas obligé de conserver une unité d'exécution pour chaque client, mais normalement, lorsque le serveur est "en attente". (Je suppose que le blocage) lors de l'envoi d'une réponse à un client qui l'interroge en permanence avec AJAX, il aurait besoin d'un thread pour chaque client, ce qui constituerait un problème d'évolutivité.

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