How I'd run it for real. PostgreSQL with partial indexes on live lots, read replicas for analytics.
How I'd run it for real. Optimistic locking with a version column, plus a single-writer queue per hot lot.
How I'd run it for real. A token bucket in Redis with an atomic Lua script at the API gateway.
How I'd run it for real. Virtual nodes for even spread, used for cache sharding and session affinity.
How I'd run it for real. Redis LRU for sessions, LFU for hot catalogue data, short TTLs for prices.
How I'd run it for real. Cached server-side with ETags to stay inside API rate limits.