¿ Spring 5 ? . Muchas personas que trabajan con Spring me preguntan habitualmente sobre Spring 5 comentandome que se parece mucho a Spring 4 y que en realidad todo es muy similar . La r espuesta quizás no es tan directaa. Spring ha evolucionado mucho desde sus primeras versiones y hoy por hoy nos encontramos con una situación en la que como motor de inyección de dependencia se apoya mucho en anotaciones como @Component , @Repository etc. Sigue siendo Spring 5 muy similar a Spring 4 la realidad es que no . Spring 5 aporta un salto importante en cuando a Arquitectura ya que incorpora Spring WebFlux el framework de programaci´ón Reactiva . Vamos a explicarlo a detalle. Cuando nosotros trabajamos con Spring y disponemos de Servicios y repositorios nos encontramos con una situación de este estilo:
Este código invoca desde un Servicio a dos Repositorios y a un Servicio adicional. Todo es correcto . Ahora la pregunta importante es: ¿Cuantos hilos o Threads ejecutan este código?. Uhhh esta es una buena pregunta ya que por defecto simplemente se usará un hilo de ejecución.
Por lo tanto si nosotros tenemos que cada una de las tareas de de los Servicios y Repositorios que invocamos tarda 3segundos nos encontraremos que el Servicio principal tarda 9 segundos en ejecutarlo todo. Es bastante tiempo pero en muchas ocasiones simplemente no queda otro remedio . Sin embargo cada día tenemos Servicios y Repositorios que conectan a diferentes sistemas y que permiten enfoques no bloqueantes . Es decir enfoques en los cuales cuando un Servivio llama a otros este puede seguir ejecutando el resto de invocaciones sin bloquearse ya que usan otros hilos de ejecución en paralelo.
Otras tecnologías
Esta es la verdadera importancia de la nueva versión de Spring y que le paraleliza a Node.js permitiendo filosofías similares en entornos Java modernos.
La programación reactiva ya nos alcanzo!
Si 🙂
Hola Cecilio, he estado estudiando un poco sobre programación reactiva y entre las cosas que estudie hice algunas pruebas con Spring 5 por lo cual te puedo decir que Flux no es el framework que usa Spring 5 para programación reactiva, Flux es una clase que retorna un stream de 0 a n elementos también esta la clase Mono que se encarga de retornar un solo elemento, el framework que trabaja Spring 5 para soportar programación reactiva se llama Reactor te dejo las dependencias io.projectreactor reactor-core 3.0.6.RELEASE io.projectreactor.addons reactor-test 3.0.6.RELEASE Saludos y muchas gracias por compartir tu conocimiento, para mi… Read more »
gracias por el aporte 🙂
Me cuesta ver una definición de endpoints REST sin las anotaciones de JAX.rs, pero interesante hello world.
Saludos!
gracias 🙂