/from-paris-to-berlin-circuit-breaker

This project is an investigation of Hystrix and Resilience4J in the Kotlin language

Primary LanguageKotlinApache License 2.0Apache-2.0

from-paris-to-berlin-circuit-breaker


Twitter URL Generic badge

CircleCI from-paris-to-berlin-circuit-breaker e2e-from-paris-to-berlin-circuit-breaker

Codacy Badge codebeat badge Known Vulnerabilities

Codacy Badge codecov Coverage Status

GitHub language count GitHub top language GitHub top language


Technologies used

Please check the TechStack.md file for details.

Introduction

The idea of this project is to take passengers from Paris to Berlin. However, in our simulation, the weather is bad and so the lines will be failing. The role of kystrix here is to avoid a massive traffic flow to blocked roads and instead to get the cars somewhere else.

The idea of Kystrix is the same as Hystrix. These are circuit-breakers responsible to stop the flow of requests to certain endpoints and make them fail or redirect to somewhere else.

Hystrix is, however, no longer in development, and instead we have Resilience4J.

This means that although we can hope that Kystrix gets more standardized, it appears to be that Resilience4J is the way to go at this time.

Stable releases

Project Layout

  1. From Paris to Berlin Data - Common Data Library used in all executable projects
  2. From Paris to Brlin City Generator - Generates a City JSON which can be fed to the main application
  3. From Paris to Berlin Kystrix Demo - A simplified Kystrix demo independently of Spring
  4. From Paris to Berlin Resilience4J Runnable Demo - Creating Circuit Breakers using programmatic Resilience4J independently of Spring
  5. From Paris to Berlin Resilience4J Spring Demo - Creating Circuit Breakers using programmatic Resilience4J using Spring
  6. From Paris to Berlin Resilience4J AOP Spring Demo - Creating Circuit Breakers using AOP(Aspect Oriented Programming) and declarative Resilience4J
  7. From Paris to Berlin Web - Front end application to support the Paris to Berlin Game

Java Setup

sdk install java 17-open
sdk use java 17-open

How to run locally

Docker-Compose
  1. Start Image
make dcup-full-action
  1. Start Demo
make demo-docker
  1. Go to localhost:9000

Swagger UI

Local
  1. from-paris-to-berlin-resilience4j-aop-spring-app
  2. from-paris-to-berlin-ws-service
Via Docker
  1. from-paris-to-berlin-resilience4j-aop-spring-app
  2. from-paris-to-berlin-ws-service

Coverage report Graphs

References

About me

GitHub followers