Microservice architecture is one of the recent buzzwords in the world of software development. It can help create scalable, robust software even in complex business domains. However, it introduces additional operational complexity among which is communication between many services.
Continuing with my previous post, let's try to implement some simple rate limiting for our application using Micronaut's caching and Resilience4j.
Micronaut makes creating web applications a breeze. The most interesting thing about it is that it does not use any runtime reflection and still provides a clean and enjoyable API, among others, thanks to compile time annotation based dependency injection.