Производительность Google Pub / Sub (задержка при низкой нагрузке)? - PullRequest
0 голосов
/ 08 ноября 2018

Мы собираемся выбрать Google Cloud Pub / Sub в качестве нашего MQ.Некоторые сообщения должны отправляться с малой задержкой, например, <100-200 мс. </p>

Я где-то читал, что при больших объемах сообщений он работает хорошо, но для меньших объемов, таких как сотни сообщений в секунду, Pub/ Sub может привести к большим задержкам.

И в этом предыдущем вопросе тема также не ясна. Что такое облачный паб / суб-задержка Google (год 2016)

Существуют ли какие-либо определенные метрики о задержках пабов / суб и связи с объемом сообщений?

1 Ответ

0 голосов
/ 08 ноября 2018

Cloud Pub / Sub был разработан с учетом большого объема сообщений, поэтому ожидается, что он иногда будет бороться, если пропускная способность слишком мала. Это связано с тем, как Pub / Sub уравновешивает запросы извлечения между слушателями.

Возвращаясь к вашему вопросу, нет определенных метрик относительно этого поведения, также нет минимальной задержки или магического числа сообщений, которые вы можете сказать, что это считается "высокой нагрузкой". На самом деле это зависит от таких факторов, как количество работников, размер партии, время обработки каждого сообщения и т. Д.

Я нашел этот другой ответ StackOverflow , в котором немного больше говорится о действительном сценарии использования Pub / Sub (сообщения порядка тысяч в секунду) и почему рекомендуются высокие нагрузки для Cloud Pub. /Sub.

Edit:

Расширяя эту тему, добавление асинхронного слоя к реализации Pub / Sub может помочь повысить его производительность, включая задержку в сценариях с малым объемом сообщений. Spotify, работая с Pub / Sub, осознал необходимость в этом и создал собственный Async Cloud Pub / Sub Client . Теперь они рекомендуют использовать Java-клиент Google , но стоит учесть эту информацию

...