Как стать автором
Обновить

Комментарии 2

в RabbitMQ можно задать лимит на число сообщений, которые в данный момент обрабатываются как и для каждого обработчика отдельно, так и глобально.
посылать ack руками только нужно будет после того, как выполнится запрос.
если пропускная способность позволит, то почему бы и не?
https://www.rabbitmq.com/consumer-prefetch.html#sharing-the-limit


Если хочется именно распределённый семафор и именно на код, который обслуживает запросы, то можно за какой-нибудь consul/ZooKeeper схватиться, но они небыстрые, придётся батчами хватать сразу.

В целом идея с RabbitMQ мне нравится. Смущает только, что такую блокировку придётся дольше держать (взять задачу, подготовиться к запросу, послать его, сохраниться и подтвердить). Но, в зависимости от того, где что развёрнуто, наверное, может быть не хуже.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории