Spring MVC (async) vs Printemps WebFlux

J'essaie de comprendre Printemps WebFlux. Les choses que j'ai trouvé à ce jour sont réactifs à la base, pas de Servlet API, pas de fil par demande, HTTP 2, serveur pousse, application/flux+json.

Mais quelle est la différence entre les appels asynchrones dans Spring MVC? Je veux dire, Spring MVC, lorsque vous revenez à l'Avenir, DefferedResult et etc vous obtenez logique dans le gestionnaire de requêtes (méthode de contrôleur) exécutée dans un thread séparé, de sorte que vous pouvez bénéficier de l'économie d'thread pool de ressources pour la distribution des demandes ainsi.

Donc, pourriez-vous s'il vous plaît mettre en évidence les différences liées à cela? Pourquoi WebFlux est mieux ici?

Je vous remercie pour votre temps beaucoup!

  • Réactif de programmation est poussée de moteur, et utilise un seul répartiteur de thread (ce qui est très efficace) alors que l'ancien modèle est encore limité pour le nombre de threads dans votre pool de threads.
  • Deinum Mais dans ce cas, je suis limité par la charge d'un thread peut le gérer. Pourquoi ne pas utiliser plusieurs d'entre eux, pas juste en ayant un système multicœur?
  • C'est un événement dispatcher fil, elle est un modèle entièrement différent. Il distribue uniquement des événements (très rapidement) alors que l'autre modèle est toujours le blocage.
  • Deinum ok, c'est très intéressant, je suis sûr que je devrais prendre un coup d'oeil, merci!
  • Deinum, s'il vous plaît partager cycle de vie de demande
  • Deinum, le printemps peut travailler avec servlet 3.1 sans webflux (completableFuture un type de retour + tomcat 8.5+)