A Star wars reactive microservice platform, formed by four services:
-
StarWarsMovie:
Rest APImicroservice. The entry point of the platform which orchestrate and gather the information for the client. -
StarWarsActors:
WebSocketmicroservice. It contains the information of characters per episode. -
StarWarsPlanets:
gRPCmicroservice. It contains the information of planets per episode. -
StarWarsShips:
Kafkamicroservice. It contains the information of ships per episode.
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.
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
- 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
TestFrameworkmodule here




