Skip to content

politrons/reactiveStarWars

Repository files navigation

My image

A Star wars reactive microservice platform, formed by four services:

  • StarWarsMovie: Rest API microservice. The entry point of the platform which orchestrate and gather the information for the client.

  • StarWarsActors: WebSocket microservice. It contains the information of characters per episode.

  • StarWarsPlanets: gRPC microservice. It contains the information of planets per episode.

  • StarWarsShips: Kafka microservice. It contains the information of ships per episode.

    My image

In this platform, we apply different reactive technologies not only to communicate between microservice, but also to be NIO and control side-effect.

As Http Server technology we use Vertx in his latest version, which provide the different patterns to communicate between services like WebSocket or gRPC

For Event driven pattern we use Kafka Alpakka a Kafka Akka library implemented in top of Apache Kafka.

For NIO and Side-effects we use functional programing library Vavr which provide a Future, Option, Try and Either like in Scala lang.

Building

In each gradle module you can run the different task using gradle commands:

To launch your tests:

./gradlew clean test

To package your application:

./gradlew clean assemble

Running

  • Before run the platform is mandatory have Kafka image up and running. Having docker-compose installed run in the root folder of project the command:
docker-compose up -d
  • To run the four microservice you can use the main class of the TestFramework module here

Stack

My image My imageMy image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published