INTRODUCCIÓN A LA ARQUITECTURA REACTIVA

<  VOLVER
Por: admin
mayo 12, 2020
admin
mayo 12, 2020

Como decíamos en la entrada anterior sobre arquitecturas reactivas, las demandas de hoy en las empresas requieren tiempos de respuesta cortos, con la necesidad de tener que procesar ingentes cantidades de datosdesplegarse en cualquier cosa y que los sistemas estén operativos el 100% del tiempo. Para ellos, distintos tipos de organizaciones están dando de manera independiente con patrones similares con los que construir software que haga frente a estas demandas.

Este conjunto de patrones y técnicas es el que se conoce como Arquitecturas Reactivas y se utilizan para construir sistemas que:

  • Son más amigables, robustos y flexibles
  • Son capaces de responder a las limitaciones de escalado
  • Pueden resistir mejor a los fallos y responder con elegancia a ellos
  • Dan un feedback efectivo e interactivo al usuario
  • Están más abiertos a los cambios.
  • Son escalables y con bajo acoplamiento.
  • Reaccionan a los eventos

PRINCIPIOS DE LA PROGRAMACIÓN REACTIVA

Dirigida por datos

En el modelo de actores, uno de los patrones más utilizados en programación reactiva, se definen cadenas de transformación funcional. Estas son atravesadas por flujos de datos para su procesamiento. Se podría decir que este tipo de soluciones están dirigidas por los datos porque en ellos descansa, además de gran parte de la lógica de la aplicación, el propio comportamiento reactivo del sistema.

Centrada en la composición

Las operaciones que forman parte del procesamiento de datos en programación reactiva, que normalmente se implementan en actores distintos, se encadenan de forma compositiva. De este modo, el resultado de cada transformación es la entrada para la siguiente. Para poder articular esta composición adecuadamente, debemos tener en cuenta tres reglas fundamentales en la programación funcional:

IDEMPOTENCIA DE LAS FUNCIONES

Las funciones siempre deben devolver los mismos resultados para los mismos valores de entrada.

TRANSPARENCIA REFERENCIAL

El valor de retorno de las funciones depende de los parámetros de entrada, nunca de condiciones ambientales (parámetros externos o contexto).

INMUTABILIDAD DE LOS DATOS

Los datos de entrada que manejan las funciones son inmutables, es decir, las funciones nunca deben alterar los parámetros de entrada.

PRINCIPALES LENGUAJES Y PLATAFORMAS DE LA PROGRAMACIÓN REACTIVA:

Como ya se ha dicho antes, la programación reactiva implica el conocimiento y la integración de varios lenguajes de programación y plataformas, como podrían ser:

  • Scala es un lenguaje multi-paradigma. Expresa patrones comunes de programación en forma concisa, elegante y con tipos seguros. Integra características de lenguajes funcionales y de los orientados a objetos.
  • Akka es una plataforma que busca desarrollar de forma simple aplicaciones escalables y multihilo. Su método de concurrencia se basa en actores (objetos con los que puedes interactuar enviándoles mensajes) y se puede desarrollar con diferentes APIs, generalmente Scala.
  • Kubernetes es un sistema para automatizar el despliegue, autoajustar el escalado y manejo de aplicaciones en contenedores.
  • Kafka es un proyecto que permite publicar mensajes de datos procedentes de las aplicaciones en un flujo, suscribirse a los mensajes generados,  almacenarlos en un sistema tolerante a fallos y consumir los streams de mensajes por aplicaciones en cuanto se produzcan.
  • Docker es un proyecto que automatiza el despliegue de aplicaciones dentro de contenedores de software. Proporciona una capa adicional de abstracción y automatización de virtualización de aplicaciones en múltiples sistemas operativos. Además, permite que los “contenedores” independientes se ejecuten en una sola instancia de Linux, evitando sobrecargar las máquinas virtuales.
  • Elasticsearch es un servidor de búsqueda de texto completo, distribuido y con capacidad de multi-tenant.
  • Cassandra es un almacén de datos NoSQL de gran rendimiento. Como es distribuida y basada en un modelo de almacenamiento de «clave-valor», permite grandes volúmenes de datos en forma distribuida, con escalabilidad lineal y disponibilidad.

MÁSTER EXPERTO EN BIG DATA ANALYTICS

Gracias al Master en Big Data Analytics 100% Online tendrás amplios conocimientos sobre las herramientas y técnicas analíticas necesarias para la modelización de los principales retos de negocio, con el fin de mejorar la toma de decisiones a través de los datos y el conocimiento.

Suscríbete a nuestra Newsletter

Recibe nuestra programación mensual de eventos online y la apertura de nuevas convocatorias de cursos




    En Datahack Consulting SL trataremos los datos que nos facilites con la finalidad de enviarte información relacionada con tu solicitud sobre nuestros servicios, así como enviarte comunicaciones informativas sobre nuestra actividad. Podrás ejercer los derechos de acceso, rectificación, limitación, oposición, portabilidad, o retirar el consentimiento enviando un email a administracion@datahack.es. También puedes solicitar la tutela de derechos ante la Autoridad de Control (AEPD). Puedes consultar información adicional y detallada sobre protección de datos en nuestra Política de Privacidad.

    Estamos para ayudarte con cualquier duda, pequeña o grande

    Llámanos, escríbenos al email o por WhatsApp o inicia un chat en la web y hablamos

    chevron-down