автоматическое масштабирование в облачном потоке данных Google - PullRequest
0 голосов
/ 28 июня 2018

У нас есть потоковый конвейер, для которого мы включили автоматическое масштабирование. Как правило, одного работника достаточно для обработки входящих данных, но мы хотим автоматически увеличить количество работников, если есть отставание.

Наш конвейер читает из Pubsub и записывает пакеты в BigQuery, используя задания загрузки каждые 3 минуты. Мы запустили этот конвейер, начиная с одного работника, публикуя в pubsub вдвое больше данных, чем мог бы потребить один работник. Через 2 часа автоматическое масштабирование все еще не сработало, поэтому отставание составило бы около 1 часа данных. Это кажется довольно плохим, учитывая, что автоматическое масштабирование направлено на сохранение отставания менее 10 секунд (согласно этому SO-ответу ).

В документе здесь говорится, что автоматическое масштабирование для потоковых заданий находится в режиме бета-тестирования, и известно, что оно будет детализированным, если приемники имеют большую задержку. И да, я думаю, что выполнение пакетов BigQuery каждые 3 минуты считается высокой задержкой! Есть ли какой-либо прогресс в улучшении этого алгоритма автоматического масштабирования?

Есть ли какие-нибудь обходные пути, которые мы можем сделать в это время, такие как измерение пропускной способности в другой точке конвейера? Я не смог найти никакой документации о том, как пропускная способность сообщается системе автоматического масштабирования.

1 Ответ

0 голосов
/ 05 июля 2018

Обратный журнал создается неподтвержденными сообщениями, я полагаю, что вы используете подписки по запросу. Если сообщение обрабатывается дольше, чем подтверждение, оно будет повторно отправлено в соответствии с хотя бы раз доставкой из Pub / Sub. И единственный работник, который сможет обработать это сообщение, первым получит его. В этом случае экземпляр не будет создан.

Что вам нужно сделать, это настроить вашу систему для обработки сообщений до истечения срока подтверждения. Вы можете получить выгоду от использования push-сообщений в некоторых ситуациях. Я рекомендую ознакомиться с этим документом относительно backlog , созданного Pub / Sub.

...