Introducción a los sistemas reactivos – IBM Developer

Introducción a los sistemas reactivos

Visión General

Sistemas reactivos es un término que se usa para describir un estilo arquitectónico que permite que las aplicaciones compuestas por múltiples microservicios trabajen juntas para reaccionar mejor a su entorno y entre sí. Están diseñados para ser más elásticos, resistentes y receptivos mediante el uso de comunicación asincrónica basada en mensajes, que son características útiles para muchos sistemas y aplicaciones diferentes. Esto ha dado como resultado que este tipo de arquitectura crezca significativamente en popularidad recientemente, incluso con más aplicaciones que se vuelven nativas de la nube. Sin embargo, este paradigma a menudo puede ser difícil de entender y no siempre está claro cómo empezar a implementar estos principios reactivos.

Sigue los recursos proporcionados en esta ruta de aprendizaje para entender claramente los sistemas reactivos y adquirir una experiencia práctica con las tecnologías reactivas utilizando Open Liberty y MicroProfile.

Objetivos

Tras completar esta ruta de aprendizaje:

  • Tendrás una mayor comprensión de los sistemas reactivos
  • Comprenderás las diferencias entre los distintos términos reactivos que se utilizan bajo el término general de "reactivo"
  • Comprenderás por qué reactivo es beneficioso para crear aplicaciones totalmente asincrónicas y sin bloqueo
  • Descubrirás cómo se pueden utilizar herramientas como MicroProfile para implementar la reactividad en una aplicación
  • Aprenderás cómo se pueden implementar aplicaciones reactivas en varios tiempos de runtimes, como Open Liberty y Quarkus
  • Comprenderás los pasos necesarios para transformar aplicaciones en sistemas asincrónicos, reactivos y basados en microservicios
  • Tendrás práctica con las API reactivas

Conocimientos previos

Esta ruta de aprendizaje está diseñada para brindar a los desarrolladores una introducción a los sistemas reactivos. Sin embargo, sería útil tener una comprensión básica de los microservicios y la arquitectura de la aplicación. También necesitarás entender las líneas de comando para realizar los tutoriales incluidos en esta serie de aprendizaje.

Nivel de habilidad

Principiante

Tiempo estimado para completar

Aproximadamente 2,5 horas

Módulos

Los siguientes elementos componen esta ruta de aprendizaje:

Introducción general a los sistemas reactivos

  • Introducción a los sistemas reactivos (Artículo)

    Conoce qué son los sistemas reactivos y encuentra sugerencias sobre recursos adicionales para comenzar con los sistemas reactivos.

  • Reacción al futuro de la arquitectura de aplicaciones (Video)

    Accede a una visita guiada del manifiesto reactivo y características clave asociadas con los sistemas reactivos. Descubre cómo los conceptos reactivos clave se relacionan con la naturaleza a través de la analogía de las abejas para una comparación memorable y simplista. (También es posible obtener más información de los developer advocates que analizan la programación reactiva y los sistemas reactivos en este video).

  • Definir el término reactivo (Artículo)

    Comprende y aprende a diferenciar entre la terminología reactiva, incluida la programación reactiva, sistemas reactivos, flujos reactivos, mensajería reactiva y más.

  • Desarrollar microservicios reactivos con mensajería reactiva (Artículo)

    Descubre por qué y cómo transformar la comunicación síncrona en una comunicación reactiva asíncrona dentro de una aplicación utilizando la especificación Eclipse MicroProfile.

Realizar práctica con reactivo usando MicroProfile

  • Crear microservicios de Java reactivo con Open Liberty y MicroProfile (guía de Open Liberty)

    Aprende a crear microservicios reactivos que puedan enviar solicitudes a otros microservicios, así como recibir y procesar las respuestas de forma asincrónica. Utiliza un sistema de mensajería externo (Apache Kafka) para gestionar los mensajes asincrónicos que se envían y reciben entre los microservicios como flujos de eventos. La mensajería reactiva de MicroProfile facilita la escritura y configuración de tu aplicación para enviar, recibir y procesar los eventos de manera eficiente.

  • Consumir servicios RESTful de forma asíncrona con interfaces de plantilla (Guía de Open Liberty)

    A partir de la misma aplicación de sistema/inventario, aprende a crear un MicroProfile Rest Client para acceder a servicios RESTful remotos mediante llamadas a métodos asincrónicos. Actualiza la interfaz de plantilla para un MicroProfile Rest Client, que se asigna al servicio remoto al que deseas llamar para usar el tipo de retorno de CompletionStage. Una interfaz CompletionStage te permite trabajar con el resultado de tu llamada de servicio remoto de forma asincrónica.

  • Integrar servicios RESTful con un sistema reactivo (Guía de Open Liberty)

    Utilizando la misma aplicación de sistema/inventario, aprende cómo integrar microservicios RESTful Java con un sistema reactivo mediante el uso de MicroProfile Reactive Messaging. Los microservicios RESTful de Java no utilizan conceptos reactivos, por lo que aprenderás a reducir las diferencias entre los dos utilizando la biblioteca RxJava. En esta guía, modificarás dos microservicios en una aplicación para que cuando un usuario llegue al punto final RESTful, el microservicio genere eventos de productor.

  • Pruebas de MicroShed para aplicaciones reactivas nativas de la nube (Guía de Open Liberty)

    Aprende a probar tu sistema reactivo/aplicación de inventario en un entorno lo más fiel posible a la producción. Al completar esta guía, aprenderás a escribir pruebas de integración para microservicios Java reactivos y a ejecutar las pruebas en entornos de producción real usando contenedores con MicroShed Testing. MicroShed Testing prueba tu aplicación en contenedor desde fuera del contenedor para que pruebes exactamente la misma imagen que se ejecuta en producción.

  • Desarrollo de aplicaciones de transmisión reactiva y de eventos con Apache Kafka y Java (Tutorial)

    Si quieres intentar desplegar tu sistema reactivo/aplicación de inventario en OpenShift, mira el segundo laboratorio interactivo en este tutorial. El primer laboratorio interactivo también te brindará experiencia en el despliegue de una aplicación reactiva basada en Quarkus a OpenShift.

Realizar práctica con reactivo usando Quarkus

  • Crear aplicaciones más eficientes con tecnologías reactivas de Java (Artículo)

    Echa un vistazo a una demostración de la aplicación reactiva creada con el runtime de Quarkus y aprende cómo desplegar esta aplicación reactiva nativa de la nube. El artículo también hace referencia a varios blogs externos que detallan cómo crear aplicaciones reactivas con Quarkus.




Próximos pasos

Transforma aplicaciones monolíticas en sistemas reactivos basados en microservicios