Zurück zu allen Beiträgen

Why We Chose Rust for a Ticketing Engine

8 min

When thousands of people compete for the same seats at the same moment, the language powering the booking engine matters. We chose Rust for SurgeTix's core — and the performance characteristics have validated that decision.

The constraint

Film festival on-sales create extreme concurrent load in very short windows. Tens of thousands of users, all trying to reserve seats simultaneously. Every reservation must resolve in single-digit milliseconds. Double-bookings are unacceptable.

Why not Node.js or Python?

Garbage collection pauses. In a system processing thousands of seat reservations per second, even brief GC pauses create tail latency spikes that translate to users seeing stale seat data or timeout errors.

What Rust gives us

Predictable latency with no garbage collector. Memory safety without runtime overhead. Fearless concurrency with the ownership model. The booking engine resolves seat reservations at P99 under 10ms — consistently, under load.

The trade-off

Slower iteration speed. Higher hiring bar. More verbose code for simple tasks. For our use case — a performance-critical booking engine that must never double-book — the trade-off is worth it.