Необходимо гибко ограничивать кол-во запросов API per client.
Т.е.
api.example.com/method?key=123 - 100 запросов в минуту
api.example.com/method?key=456 - 10 запросов в минуту
etc.
Как это сделать вручную в связке symfony + redis проблем нет.
Вопрос возникает в том, есть ли готовые сервисы/софт, которые позволяют так конфигурировать throttling. Возможно, я плохо искал, но у
Cloudflare и
Amazon я такого не нашел. У Amazon есть похожее, но
>> Per-client throttling limits are applied to clients that use API keys associated with your usage policy as client identifier.
>> API keys per account per Region 500
Т.е. если я правильно понял, больше 500 клиентов в один региогн подключить не получится.
Также желательно информацию о событиях троттлинга получать, чтобы клиент потом в UI мог увидеть, почему у него API не доступно было.