8000 GitHub - JesusAlbornoz29/Service: Parcial Estructura del Proyecto
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

JesusAlbornoz29/Service

Repository files navigation

Spring Cloud - Sistema de Microservicios

Diagrama

Proyecto

A partir de la siguiente arquitectura de microservicios, te pedimos implementar la misma utilizando Spring Cloud.

El proyecto consiste de tres microservicios: Movie, Serie y Catalog.

Catalog es una API REST que nos permite buscar por género, tanto películas como series. Además desde el microservicio catalog se deberán poder guardar películas y series.

La comunicación entre microservicio para crear películas debe realizarse con Feign. Al guardar una película, la misma se persistirá en su base de datos (movie-service).

Cuando se persiste una película en su base de datos, adicionalmente se debe enviar un mensaje a través de una cola de RabbitMQ a catalog-service, quien lo persistirá en su base de datos no relacional MongoDB. Lo mismo deberá ocurrir con las series (serie- service).

Cuando Catalog busca por género, lo hace directamente en su base de datos no relacional MongoDB.


Diagrama base de los microservicios:

movie-service

El microservicio gestiona las operaciones sobre las películas. Cada película tiene como atributo:

  • id
  • name
  • genre
  • urlStream

serie-service

El microservicio gestiona las operaciones sobre las series. Cada serie tiene como atributos:

  • id
  • name
  • genre
  • seasons
    • id
    • seasoNumber
    • chapters
      • id
      • name
      • number
      • urlStream

catalog-service

Los microservicios de película y serie deben ser invocados cada vez que se carga una nueva película o serie y se debe persistir la información que proporcionan ambos microservicios en una base de datos no relacional de MongoDB con la siguiente estructura:

  • genre
    • movies
      • id
      • name
      • genre
      • urlStream
      • series
        • id
        • name
        • genre
        • seasons
          • id
          • seasonNumber
          • chapters
            • id
            • name
            • number
            • urlStream

Tareas

  • Configurar los microservicios para su autodescubrimiento con Eureka.
  • Centralizar la configuración de los microservicios.
  • Realizar la comunicación con Feign.
  • Realizar el balanceo de carga
  • Realizar el proyecto Gateway o realizar el ruteo.
  • Comunicacion con RabbitMQ

    serie-service

    • Configurar el nuevo servicio para su auto descubrimiento utilizando el nombre: serie-service.
    • Centralizar la configuración de serie-service.
    • Realizar la comunicación con Feign de serie-service y catalog-service para persistir en la base de datos de serie, cada serie creada.
    • Agregar RabbitMQ y enviar un mensaje en el momento que se agregue una nueva serie.

    movie-service

    • Agregar RabbitMQ y enviar un mensaje en el momento que se agregue una nueva película.

    catalog-service

    • Modificar la consulta por género, que ahora será directamente a su base de datos no relacional MongoDB.
    • Actualizar catalog utilizando Feign para comunicarlo con el microservicio serie-service, y obtener desde catálogo las series filtradas por género, como así también utilizar la Feign para crearlas.
    • Agregar RabbitMQ y escuchar los mensajes que envían movie-service y serie-service. En caso de recibir un mensaje de algún servicio, actualizar el listado correspondiente, ya sea de las películas o las series.

    Spring Cloud: traceo utilizando Zipkin

    • Configurar Zipkin en todos los microservicios para visualizar la trazabilidad.

    Persistencia - Resilence4j

    • Se debe seleccionar uno de los servicios (preferentemente el que consideres que será más utilizado) y adaptarlo para que el mismo sea tolerante a fallos.

About

Parcial Estructura del Proyecto

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages

0