Skip to content

vromanyu/event-driven-microservices

Repository files navigation

build-all-workflow

Event-Driven Microservices

A hands-on playground for experimenting with event-driven communication using Apache Kafka.

Overview

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 -d

NGINX was added to handle SSL termination in front of the gateway!

CQRS
cd cqrs/docker
ISSUER_URI=<issuerUri> docker compose up -d

Some 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_URI variable must be provided in Docker Compose.
SAGA
SAGA Orchestration pattern is on the works!

About

Event Driven Microservices Playground

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages