rate limit и ограничение у них в 1rps и 200k rpm
Я так догадываюсь что наше приложение иногда шлет больше 1 запроса в секунду.
Из вариантов - поставить retry на http guzzle либо написать сервис прослойку который будет обрабатывать запросы однопоточно
Что лучше?
С ретраем вы будете делать ещё больше запросов и вас забанят насовсем
мы почти так делали https://laravel.com/docs/10.x/queues#rate-limiting
если ответ не нужен реалтайм (например это не пользователь инициирует этот запрос) то складываете все запросы "в кучку" (файл на диске, стэк в редисе, таблица в бд, в кафку в конце концов пихаете если хочется сделать круто. скоре всего стэк в редиске это то что вам нужно) запускаете консьюмер который будет это обрабатывать (или вместе со складыванием запускаете джобу которая будет проверять что она синглтон) и вуаля. внутри консьюмера делаете логику обработки запросов. если реалтайм - заводите в редиске время последнего вызова апи, заводите "очередь" в которую будут вставать юзеры которые пытались обратиться, и со слипом ждут своей очереди
А задачу вы какую решаете? Обмануть или в рейт лимит влезть? Если второе - то ничего кроме очереди и самому считать рейтлимиты особо и не придумано. Если первое - ну это скорее не в открытых чатах спрашивать :)
если это публичный доступ то прокси. если по ключу то без второго ключа ничего не придумаешь. что тут обсуждать...)))))
Я бы не хотел обсуждать не совсем легальные способы в этом канале. А я уверен что в правилах описано что так делать нельзя :)
так мы и не обсуждаем) это всего лишь теоретически рассуждения о том как вайтхэт пенетратору пентестить систему)
Ну давай тогда это в этом ключе так и оставим и закроем разговор
Обсуждают сегодня