Skip to content

JavMB/netflix-microservices

Repository files navigation

Netflix Microservicios - Proyecto de aprendizaje

Este proyecto es una versión a menor escala de una arquitectura de microservicios inspirada en Netflix, usando tecnologías modernas como Spring Boot, Apollo Federation y Node.js.

Descripción General

La arquitectura simula un sistema de streaming donde:

  • Usuarios pueden hacer queries GraphQL para obtener información de películas, imágenes, recomendaciones, etc.
  • Spring Cloud Gateway (API Gateway) recibe las peticiones HTTP y las redirige al GraphQL Federated Gateway (Apollo Gateway).
  • Apollo Gateway (Node.js) orquesta y federates varios subgrafos GraphQL implementados como microservicios independientes (DGS con Spring Boot).
  • Microservicios DGS (Spring Boot) exponen partes del esquema GraphQL (por ejemplo, catálogo de películas, imágenes, etc.).
  • Otros microservicios (recomendaciones, historial, top 10) pueden comunicarse vía gRPC, Kafka, etc.

arquitectura

Flujo Simplificado

  1. El usuario hace una query GraphQL (por ejemplo, lolomo { title artwork { url } }).
  2. La petición pasa por el Gateway HTTP que lo enruta en este caso a un Gateway Federado Graphql
  3. Llega al Apollo Gateway, que distribuye la query a los microservicios DGS correspondientes.
  4. Los microservicios responden con los datos federados mediante Grpc.

Objetivo

Explorar cómo se puede construir una arquitectura moderna de microservicios, integrando servicios Java y Node.js, y experimentando con federación GraphQL y comunicación entre servicios.


About

proyecto para aprender como Netflix utiliza Java y Spring

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published