Euler problems are an excellent source of Mathematical problems to improve your programming skills. The problems are able to be solved with multiple programming paradigms like Object Oriented, Functional or Reactive.
But in the implementation process, I missed that the problems don´t add any Latency factor to increase the complexity and this is part of the daily problems for every Software Engineer in the market.
Modern programming languages provide native solutions to manage latency.
In Java
, you can use Structured Concurrency with Virtual Threads or CompletableFuture,
in Kotlin
you can use Coroutines,
in Scala
you can use Future,
in Clojure
you can use Future.
On top of the languages, exist libraries that improve the way to manage asynchronous calls with jox or use a Reactive solutions with Backpressure support out of the box.
In Reactor
you can use Mono or
Flux objects,
in RxJava
, you can use Flowable & finally, in Mutiny you have Uni or Multi.
Finally, exist libraries that offer rich implementations of Reactive programming patterns.
In Resilience4j
, you could find solutions for: Circuit breaking
, Rate limiting
, Automatic retrying
The purpose of this repository is the design of a set problems adding the Latency as part of the problem to be solved in several ways.
Enjoy the journey!
Juan Antonio Breña Moral
- Problem 1: Consume God APIS (Greek, Roman & Nordic) and filter gods starting by 'n', convert into Decimal format and sum.
- Problem 2: Calculate what Greek god has more literature in Wikipedia.
- Problem 3: Develop a REST Gateway about Gods.
- Problem 4: Develop a REST API to offer in a single endpoint God Data from multiple Mythologies
- Problem 5: Develop a REST API which read Greek god data which it is synchronized periodically from a third party service.
- Problem 6: Return all Greek gods starting with
a
and apply a Rate limit policy, Retry & Circuit Breaker for incoming http requests. - Problem 7: Return all Roman gods finishing the name with
s
and apply a Retry & Circuit Breaker behaviour for the integration with theexternal third party - Problem 8: Calculate the popularity of Indian gods in Mahabharata
- Problem 9: Develop a REST API which read data from a Kafka topic with the name greek-gods