Open IT Experts for Enterprise

Zylk empresa de desarrollo de ecommerce

API gateway architecture for microservices

Gustavo Fernández
Gustavo Fernández
technics

netflix, spotify, airbnb la importancia de un api gateway

Siguiendo con los anteriores artículos relacionados con los microservicios
presentamos un nuevo diagrama de arquitectura de lo que se conoce como
API-gateway.
Que es una suerte de orquestador (y más) de las
llamadas a distintos microservicios. En realidad las operaciones que
realizan los microservicios suelen ser operaciones muy atómicas que
aunque tienen valor de negocio necesitan ser orquestadas para poder
representar una operación de negocio real.

API gateway architecture for microservices

Donde podemos ver a grandes rasgos la función de un API-Gateway. En
el caso que nos ocupa en zylk.net para componer esta capa se va a
usar, lo ya descrito anteriormente

  • Servicios Expuestos por RPC
  • Client-Side
    Discovery Pattern

Y el proyecto Hystrix
de netflix. La idea es encapsular los servicios RCP con una capa
de comandos hystrix para poder crear el API Gateway. Para la PoC que
hemos definido se necesita

  1. Crear un primer comando hystrix que tarde en ejecutarse, pongamos
    5 segundos
  2. Crear un segundo comando que tarde en ejecutarse 4 segundos

Una vez que tenemos esto, crearemos un cliente que invoque ambos
comandos de dos maneras (existe una tercera basada en programación reactiva,
que en este caso no vamos a usar) Síncrona

  • Síncrona

API gateway architecture for microservices

  • Asíncrona

API gateway architecture for microservices

Si ejecutamos ambos clientes podemos ver las diferencias de ejecución
en ambos casos.

La verdad es que el proyecto
hystrix
de netflix es un gran proyecto que
nos sirve para encapsular las llamadas a servicios de terceros. En
este caso nos permite encapsular nuestros propios microservicios
expuestos por yarn/avro-rpc. Además nos permite gestionar las
asincronía y también implementa el patrón
circuit-breaker
, tan importante en los sistemas de
información de nueva generación
como los que empezamos a
desarrollar en zylk.net

En este
link os podéis descargar las 4 clases que se han usado para la
PoC, para los que prefieren leer código.

Si te ha parecido interesante comparte este post en RRS

Facebook
LinkedIn
Telegram
Email

Leer más sobre temas relacionados

Deja un comentario

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