Pubsub тянуть с постоянной скоростью? - PullRequest
0 голосов
/ 02 сентября 2018

Есть ли способ обеспечить постоянную частоту опроса с помощью клиента google-cloud-pubsub ?. Я хочу избежать сценариев, в которых при пике частоты публикации частота запросов на извлечение также имеет тенденцию к увеличению.

Клиент предоставляет настройки FlowControl, устанавливая сообщения maxOutstanding. Насколько я понимаю, он устанавливает максимальный размер партии во время операции вытягивания.

Я хочу понять, как создать постоянную скорость, скажем, 1000 RPS.

1 Ответ

0 голосов
/ 03 сентября 2018

Управление потоком сообщений можно использовать для установки максимального количества сообщений, обрабатываемых в данный момент времени (т. Е. Установки max_messages в случае клиента Python), которое косвенно устанавливает максимальную скорость, с которой сообщения получены. Хотя это не позволяет вам напрямую устанавливать точное количество сообщений, получаемых в секунду (это будет зависеть от времени, которое требуется для обработки сообщения, и количества обрабатываемых сообщений), следует избегать сценариев, когда вы получаете всплеск рейтинг публикации.

Если вам действительно нужно установить скорость в сообщениях, получаемых в секунду, AFAIK не будет доступен непосредственно в клиентских библиотеках, поэтому вам придется реализовать это самостоятельно, используя асинхронное извлечение и некоторые таймеры для подтверждения сообщений с желаемой скоростью.

...