Arquitectura de Microservicios I – Introducción

Contenidos

Este es el primer post de varios sobre la arquitectura de microservicios. Es una tecnología muy demandada hoy en día y que facilita mucho los proyectos y la forma de trabajar de los equípos así como el mantenimiento y la busqueda de fallos.

¿Qué son los Microservicios?

Esta pregunta es algo compleja, porque además cada persona puede hasta variar un poco el concepto de microservicio, pero básicamente son fragmentos de código más ligeros que una aplicación monolítica que intercambian información genralmente a traves de REST /API por HTTP.

Ejemplo de una migración a Microservicios

Pero la base es, que si tenemos una applicación monolítica, es decir una aplicación en nuestro respositorio GIT, y queremos pasarla a microservicios. Para menor complejidad imaginemos que nuestra aplicación es un back end que usa un REST/API, sobre datos de IoT.

Esta aplicación devuelve varias mediciones situadas por el mundo, se engloban en función del tipo de sensor, por ejemplo /weather datos meteorológicos, /energy datos de consumo eléctrico y /temperature datos de temperatura de un local.

Aplicación monolítica

Así si queremos saber los datos de un sensor /weather/:id siendo la id la id del propio sensor tenemos las últimas 24 horas de medición lo mismo para energy y temperature. Por lo que decimos crear tres microservicios, cada ms-weather, ms-temperature, ms-energy. Cada uno ataca a una colección (en mongoDB) o una tabla (SQL) de una base de datos, en esté caso no nos importa, pero es importante que no se mezclen datos. Y ya tenemos tres microservicios.

Aplicación con Microservicios

Añádiendo una funcionalidad como nuevos microservicios.

Bien hasta aquí los microservicios son básicos, son casi tres aplicaciones separadas. Ahora se requiere agrupar los datos por zona, imaginemos que queremos agrupar la temperatura, energía y la meteorología de un determinado edificio, por lo que creamos un microservicio llamado ms-buildings -> al atacar a /bulidings/:id nos traerá todas las medidas de sensores de temperatura, el consumo energético y los datos meteorológicos más cercanos así como la dirección y un teléfono de contacto.

Este micro atacará a una colección o tabla única, donde un id de edificio traerá ciertos datos, además nos indica cuanto sensores de temperatura y que ids tiene, el id de consumo de energía y el id de la estación meteorológica más cercana.

Con esos datos este micro pregunta a los otros tres mezcla la info y la retorna.

Ampliando Microservicios

Hasta aquí este pequeño resumen de los microservicios, espero que os haya gustado y si es así compartid.

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.