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
Examples of applying pessimistic and optimistic concurrency control with AWS DynamoDB.
A robust Train Seat Reservation API built with .NET. Demonstrates Clean Architecture, DDD, CQRS, and pessimistic concurrency control using MS SQL Server and Redis.
A Spring Boot and React banking architecture implementing a double-entry ledger, idempotent UPI transaction processing, and deterministic pessimistic locking.
A Spring boot application, showcasing different locks that can be implemented in a Ticketmaster clone.
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.
Production-grade delivery integration platform. Spring Boot 3 · JWT + Refresh Token Rotation · RBAC · Idempotency · Pessimistic Locking · PostgreSQL · Docker
REST service that allows users to create bank accounts, transfer money between them, view them, and handle concurrent transfers requests safely.
Task
A BookMyShow-like ticket booking system with seat hold mechanism, and pessimistic locking to prevent double bookings.
Personal finance laboratory REST API — NestJS + PostgreSQL. Seven concurrency races reproduced and closed with a Unit of Work and pessimistic row locks. Strict DDD, decisions documented as ADRs.
Inflearn. 재고시스템으로 알아보는 동시성이슈 해결 방법
Core ticketing REST API written with Go Idioms & Clean Architecture in mind
Add a description, image, and links to the pessimistic-locking topic page so that developers can more easily learn about it.
To associate your repository with the pessimistic-locking topic, visit your repo's landing page and select "manage topics."