
Backend
TicketRush
A high-concurrency, event-driven ticket booking system that solves race conditions and over-selling in flash-sale scenarios using Redis-based atomic locking (Lua scripts) and RabbitMQ. Stock control runs in-memory to avoid database bottlenecks, and the system's scalability and data consistency have been proven with Docker-based load tests.
Demo
Problem
When thousands of users try to book the same seat simultaneously, naive systems double-sell inventory and corrupt state.
Highlights
- Redis distributed locking for atomic seat reservation
- RabbitMQ event-driven order processing
- Dockerized multi-service stack
- PostgreSQL relational schema for inventory
Architecture and notes
Stock is checked and decremented in memory by a single atomic Redis Lua script, so two buyers can never both pass the check for the same seat and the database stays out of the hot path. Accepted reservations are handed to RabbitMQ and processed as events, PostgreSQL holds the relational inventory schema, and the whole stack runs in Docker. Data consistency under load was verified with Docker-based load tests.
Live from GitHub
- Stars
- 1
- Forks
- 0
- Last updated
Languages
- Java57.8%
- TypeScript21.8%
- JavaScript15.6%
- CSS2.3%
- Dockerfile1.4%
- Other1.2%
Fetched from the public GitHub API and refreshed hourly.
From the README
TicketRush, popüler konserler ve etkinlikler gibi yüksek talep gören senaryolarda race condition sorunlarını çözen, event-driven ve tam dağıtık bir bilet satış sistemidir.
Amaç, binlerce kullanıcının aynı anda “Satın Al” butonuna bastığı durumda bile:
- Veri tutarlılığını sağlamak
- Overselling riskini ortadan kaldırmak
- Sistemi kilitlemeden, ölçeklenebilir bir mimari ile süreci yönetmektir.
Teknoloji Yığını
Aşağıdaki teknoloji yığını, yüksek trafikli sistemlerin ihtiyaçları olan ölçeklenebilirlik, tutarlılık ve performans kriterlerine göre seçildi.
…