Комментарии 2
в RabbitMQ можно задать лимит на число сообщений, которые в данный момент обрабатываются как и для каждого обработчика отдельно, так и глобально.
посылать ack руками только нужно будет после того, как выполнится запрос.
если пропускная способность позволит, то почему бы и не?
https://www.rabbitmq.com/consumer-prefetch.html#sharing-the-limit
Если хочется именно распределённый семафор и именно на код, который обслуживает запросы, то можно за какой-нибудь consul/ZooKeeper схватиться, но они небыстрые, придётся батчами хватать сразу.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как перестать DDoS-ить чужой API и начать жить