Amazon, no problem, browse from anywhere. Amazon has similar functionality, but they just do it a lot more intelligently. The most I've ever seen on Amazon is a simple captcha before the login page, period. Whereas on other sites, if a user is logged in to a longstanding account with a history of real purchases, and that logged in session isn't requesting pages at some exorbitant rate that goes well beyond enthusiastic middle-clicking, then it should never end up blocked. Yet I've had this happen on most sites that aren't Amazon - they've lost sight of the primary goal being to serve customers!
Of course to me every webshop has their bread and butter of what types of things make sense to purchase there. I'm certainly not going to buy stuff from Amazon that is twice the price as it is elsewhere because it's only on Amazon becomes some enterprising seller put it up there as a convenience. But I can understand how others would, given how hard the other webshops want to actively reject your business.
Also context here, 1000 requests/second is doable on modest hardware as is. Mitigations with a false negative rate of 10% get that down to 100 req/s, which is doable on even a Rasperry Pi. You don't need to block every request but those 2 in order to have a usable site.
We can imagine some rough contours of the problem - require being logged in to do any expensive query, serve static pages otherwise, rate limit accounts that do many expensive queries (especially without buying anything), and project the login page with some mild proof of work to prevent credential stuffing.
From what I've seen, Amazon comes much closer to this (I've only ever seen a captcha when logging in), whereas other web stores just keep cranking that false positive rate up and up.
I can sympathize for a small project, but we're talking about good size web stores here. If their basic product pages aren't static, that's on them.
What do you mean by this? For example, we do escalating proof of work and I'm not sure how this would make a site not work, even for very exotic configs with high risk signal (e.g. spoofed user-agent, proxies, etc). It will definitely consume more CPU cycles, but I don't see how it would affect functionality.
Disclosure: I work for Friendly Captcha.