Skip to content

A distributed transactional system built with a microservices architecture, utilizing Redis for distributed locks and RabbitMQ as a message broker.

Notifications You must be signed in to change notification settings

Wenszel/distributed-reservation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Distributed Reservation System

Architecture

Architecture

How to run

Prerequisites: installed: Java 21, Maven and Docker with configured Kubernetes

   ./k8s/deploy.sh

Key features

Microservices architecture:

  • Containerization with Docker and running microservices on a local Kubernetes Cluster
  • Implemented communication between microservices with RabbitMQ

Distributed Locks

  • Utilizing Redis as a locker for resources in distributed reservation transactions

External APIs integration

  • Integrated the app with PayU payment gateway and MailTrap SMTP server

Integration Testing

  • The app's reliability is ensured with integration tests, using TestContainers to mock microservices

Technologies

  • Java 21
  • Maven
  • Spring (Cloud, Boot, Data, AMQP, Validation, Email, Web)
  • Hibernate, Postgres
  • Redis
  • RabbitMQ
  • Docker, Kubernetes

About

A distributed transactional system built with a microservices architecture, utilizing Redis for distributed locks and RabbitMQ as a message broker.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published