Add an educational project to demonstrate reactive patterns #29
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Background
A couple of weeks ago, I was surprised I didn't find any decent opensource reactive backend implementations that combine jOOQ and RabbitMQ in Spring Boot in a production-grade project. (i.e. support for K8S, Prometheus, Logging, Traceability IDs...etc.)
Our team is a big fan of Vert.x for building reactive microservices that could scale horizontally with ease. However, this made us neglect the Spring Boot ecosystem, which has been evolving rapidly and is becoming a strong contender in the reactive space.
So I've created this project in a well-documented, well-tested manner (ATDD) using a real API as reference to help us contrast and compare the reactive Spring Boot ecosystem and compare it to our current experience with Vert.x.
Project Details
You can find a list of useful resources in the README to compare Vert.x vs Spring WebFlux, and detailed solution architecture description in another section.
The project usage details are documented, deploying the entire infrastructure and application is automated so it should allow beginners to easily run the project. Although the intended audience are experienced developers who want to compare and contrast a reactive implementation using Project Reactor via the Spring ecosystem.
I hope it helps other people who are interested to evaluate the Spring Reactive ecosystem in the near future.