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
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 high-performance Payment Gateway API built with Spring Boot 3 to solve concurrency race conditions and guarantee idempotency using Redis and PostgreSQL Pessimistic Locking.
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.
Inflearn. 재고시스템으로 알아보는 동시성이슈 해결 방법
REST service that allows users to create bank accounts, transfer money between them, view them, and handle concurrent transfers requests safely.
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.
Task
A BookMyShow-like ticket booking system with seat hold mechanism, and pessimistic locking to prevent double bookings.
Concurrency Control Locking manages concurrent transactions using pessimistic locking, which locks records to prevent conflicts, and skip locking, which skips locked records to improve processing efficiency. These mechanisms ensure data consistency while optimizing performance in high-concurrency scenarios.
인기 공연 오픈 상황의 좌석 선점, 예약 만료, 결제 확정 정합성과 조회 성능을 다루는 Spring Boot 기반 티켓 예매 백엔드
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."