Add a rate limit in nginx so that a single client has bounded work on your backend (e.g. 1/1-10s), and batch your requests into ~100/transaction using an in-memory queue. 1 server has been able to deal with ~1M connections for many years. No fires needed.
On a business side, they drastically lower the request load and make scalping unprofitable by holding a Dutch auction.
On a business side, they drastically lower the request load and make scalping unprofitable by holding a Dutch auction.