Conociendo los Sistemas reactivos

Rafael Lopez
Jul 21, 2017 · 2 min read

Les platicare uno de lo pilares importantes que debemos de tener claro al momento de desarrollar un sistema de cualquier tamaño.

Un cambio importante que sucedió con el tiempo es que la programación secuencial fue remplazada por la programación paralela y concurrente.

Una de las causas fue que anteriormente se desarrollaba un sistema con diferentes requerimientos, pensando que solo tendría unos cientos de usuarios, que lo usarían a una determinada hora, no importaba tanto el tiempo de respuesta o donde estuviera alojado, pero actualmente los sistemas puedes llegar a tener millones de usuarios en todo el mundo a cualquier hora, o hacer consultas en tiempo real, poca latencia, poder escalar de manera rapida sin necesidad de aumentar los costos o alojarlo en un sistema embebido, etc.. .

Tiempo atrás era cuantos segundos tarda en responder, ahora es cuantas conexiones concurrentes soporta y en cuantos milisegundos responde.

Un grupo de ingenieros crearon un manifiesto donde recoge una seria de puntos a seguir para desarrollar un sistema reactivo, que soporte los requerimientos actuales.

Los Sistemas Reactivos son sistemas:

  • Responsivos: Los sistemas responden de una manera oportuna en la medida de lo posible.
  • Resilientes: Los sistemas resilientes permanecen responsivos ante fallos. Son sistemas que disponen de alta disponibilidad, sistemas de misión crítica.
  • Elásticos: El sistema se mantiene responsivo bajo variaciones en la carga de trabajo. Los sistemas Reactivos pueden reaccionar a cambios en la frecuencia de peticiones incrementando o reduciendo los recursos asignados para servir dichas peticiones
  • Orientados a mensajes: Los sistemas orientados a mensajes asíncronos permiten la gestión aún más rápida de tareas sin bloqueos. Estos sistemas mantienen un bajo nivel de acoplamiento, aislamiento y proporcionan medios para delegar la gestión de errores.

Algunos de los lenguajes que fueron pensados para hacer uso de este tipo de requerimientos son:

  • Go
  • Erlang-Elixir
  • NodeJS
  • Rust
  • Escala

Los invito a conocer y firmar el manifiesto:

Gracias

Referencias:

hacknight.tech

Tips, stacks, librerías, frameworks y de más, relacionado con el mundo de las nuevas tecnologías.

)
Rafael Lopez

Written by

hacknight.tech

Tips, stacks, librerías, frameworks y de más, relacionado con el mundo de las nuevas tecnologías.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade