System design exercises by Arpit Bhayani
-
Updated
Dec 12, 2024 - Go
System design exercises by Arpit Bhayani
Pessimistic row-level locking and distributed advisory locks for EF Core — ForUpdate() / ForShare()
Case Study - Sample Book Delivery App (Spring Boot, Spring Security , Mysql, JUnit, Integration Test, Docker, Test Container, AOP, CI/CD, Prometheus, Grafana, Github Actions)
A basic hotel reservation system with 2PC using pessimistic and optimistic locks in Go
distributed and local lock provider
A high-performance Payment Gateway API built with Spring Boot 3 to solve concurrency race conditions and guarantee idempotency using Redis and PostgreSQL Pessimistic Locking.
In this repo I would like to show 4 strategies of concurrency control for writing data using Python SQLAlchemy ORM and PostgresSQL (however this examples could be easily transformed to plain SQL).
A basic e-commerce application is built using Go/Gin and follows micro-service architecture
A robust Train Seat Reservation API built with .NET. Demonstrates Clean Architecture, DDD, CQRS, and pessimistic concurrency control using MS SQL Server and Redis.
Examples of applying pessimistic and optimistic concurrency control with AWS DynamoDB.
A Spring Boot and React banking architecture implementing a double-entry ledger, idempotent UPI transaction processing, and deterministic pessimistic locking.
A practical microservices project demonstrating the Saga Pattern for distributed money transfers using Spring Boot, Apache Kafka, PostgreSQL, Docker Compose, Transactional Outbox, Idempotency, and Pessimistic Locking. The project shows how a transfer can remain consistent across multiple services without relying on one global database transaction.
A high-reliability double-entry financial ledger microservice built with Java 25 & Spring Boot 4. Features database-level pessimistic write locking (SELECT ... FOR UPDATE), payment-grade HTTP idempotency key replay, Flyway migrations, OAuth2 JWT auth, and structured ECS logging.
Banking Application APIs | RESTful Banking APIs built with Java & Spring Boot, using JPA, JDBC, and MySQL for persistence. Implemented pessimistic locking, DTOs with Java records, and global exception handling. Tested via Postman.
A Spring boot application, showcasing different locks that can be implemented in a Ticketmaster clone.
Spring Boot and PostgreSQL transaction backend for safe concurrent money transfers, verified with an automated, CI-enforced test.
A BookMyShow-like ticket booking system with seat hold mechanism, and pessimistic locking to prevent double bookings.
Task
Production-grade delivery integration platform. Spring Boot 3 · JWT + Refresh Token Rotation · RBAC · Idempotency · Pessimistic Locking · PostgreSQL · Docker
Core ticketing REST API written with Go Idioms & Clean Architecture in mind
To associate your repository with the pessimistic-locking topic, visit your repo's landing page and select "manage topics."