Introducción

Los microservicios de Wortise son proyectos aislados que buscan centrarse en un área muy específica. Fueron creados con el objetivo de reducir la complejidad de otros repositorios concurridos.

En el pasado, para hacer cosas tan normales, como por ejemplo, consultar estadísticas, había que importar librerías como Elasticsearch. Esto ocasionaba que exista:

  • Mucho código repetido entre proyectos.

  • Mayor complejidad en repositorios concurridos.

  • Aumento en la tasa de errores.

  • Desorganización debido a actualizaciones de librerías.

¿A qué le llamamos repositorios concurridos?

Son los repositorios de los productos principales. Estos mismos suelen ser visitados y modificados por la mayoría de los desarrolladores de Wortise. En nuestro caso, nos estaríamos refiriendo a los proyectos que conformen los dashboard mainstream (PUB & ADV).

Tipos de microservicios

Principalmente, tenemos dos tipos de microservicios:

ConsumibleBackground

Cuentan con interfaz HTTP.

No cuentan con interfaz HTTP.

Enfocado en ser escalable.

Enfocado en resolución de tareas automáticas y repetitivas.

Infraestructura de alto rendimiento según demanda existente.

Infraestructura limitada y estática según requisitos.

En resumen, los microservicios de tipo consumible, existen para que sean utilizados desde por ejemplo, los repositorios concurridos vía HTTP. En cambio, los de tipo background se encargan usualmente de resolver tareas repetitivas cada cierto tiempo.

Las APIs de los dashboard mainstream siempre deben ser el puente entre el cliente y un microservicio de tipo consumible. Nunca deben hacerse consultas directas a estos microservicios desde por ejemplo, un proyecto FrontEnd.

Un ejemplo de un microservicio consumible, puede ser Statistics. Este mismo se encarga de gestionar todas las consultas complejas a nuestras bases de datos de métricas de manera eficiente. Con esto logramos que cualquier proyecto que necesite consultar estadísticas, lo pueda hacer de manera muy sencilla con solamente solicitudes HTTP.

Un ejemplo de un microservicio background, puede ser Google Jobs. Este mismo contiene scripts que gestionan gran parte de nuestra actividad con plataformas como AdManager o AdMob. Por ejemplo, extracción, conversión y almacenado de estadísticas, sincronizaciones y gestiones MCM, etc. Estos scripts están configurados para ser ejecutados de manera automática cada cierto tiempo.

Last updated