/spring-boot-microservices

Backend for a movie rating application similar to IMDB.

Primary LanguageHTML

spring-boot-microservices

In this project, multiple microservices communicate with each other to provide the backend services of a minimalistic/sample movie rating application similar to IMDB.

Base Code From: https://github.com/yigiterinc/spring-boot-microservices

Technologies

  • Spring Boot
  • Spring Cloud Eureka (Service Discovery)
  • Spring Cloud Hystrix (Dashboard, Circuit Breaker pattern, Bulkhead pattern)
  • Spring io.grpc
  • Mysql
  • MongoDB
  • ProtoBuf

Summary

  • MovieInfoService provides the movie info by sending requests to TheMovieDB API.
  • RatingsDataService provides the user's ratings for movies.
  • MovieCatalogService acts as an accumulator that gets data from RatingsDataService and MovieInfoService to present it.
  • TrendingMoviesService provides movies with highest average rating.
  • DiscoveryServer is the Eureka server for service discovery.

Microservices

Running

  1. Configure Mysql connection details in application.properties in RatingsDataService and TrendingMoviesService.
  2. Configure MongoDB connection details in application.properties in MovieInfoService.
  3. You can run each project either using your IDE or mvn spring-boot:run starting from DiscoveryServer. Projects will run on the following endpoints: