A hands-on playground for experimenting with event-driven communication using Apache Kafka.
This repository explores event-driven microservices patterns. It demonstrates how microservices can collaborate asynchronously using events, without tight coupling.
Orchestration
cd choreography/docker
docker compose up -dNGINX was added to handle SSL termination in front of the gateway!
CQRS
cd cqrs/docker
ISSUER_URI=<issuerUri> docker compose up -dSome additional features were added:
- Use Redis in production and ConcurrentHashmap in development to cache query-ms responses.
- Apply Rate Limiting using Bucket4j. Redis is used in production, while Caffeine is used in development/testing.
- Protect the gateway and downstream services using OAuth2 Resource Server.
- NGINX handles SSL termination in front of the gateway.
- Add OpenAPI + Swagger Support.
- The
ISSUER_URIvariable must be provided in Docker Compose.
SAGA
SAGA Orchestration pattern is on the works!