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 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
Inflearn. 재고시스템으로 알아보는 동시성이슈 해결 방법
REST service that allows users to create bank accounts, transfer money between them, view them, and handle concurrent transfers requests safely.
A BookMyShow-like ticket booking system with seat hold mechanism, and pessimistic locking to prevent double bookings.
Task
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.
Pessimistic Locking example over MySQL database table row
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."