Google Cloud анонсировала новую функцию в Dataflow, которая обеспечивает чтение пользовательских источников с балансировкой нагрузки, с целью сокращения затрат и повышения эффективности. Это долгожданное решение проблемы масштабирования рабочих нагрузок, особенно в потоковых средах, где задержка находится под пристальным вниманием.
Многие современные стратегии автонастройки испытывают трудности с обработкой горячих ключей или горячих воркеров, которые создают узкие места в обработке и создают отставание, что влияет на актуальность данных. Например, потоковая среда, такая как Apache Kafka, может создавать горячие точки в конвейере. Средство автоматического масштабирования может попытаться компенсировать это позже с помощью дополнительных вычислительных единиц, но это не только дорого, но и медленно. Средство автоматического масштабирования реагирует только после того, как образуется отставание накопленных сообщений, и несет накладные расходы на запуск новых воркеров.
Новая функция балансировки нагрузки работает за счет лучшего распределения рабочих нагрузок и упреждающего освобождения перегруженных воркеров. Это позволяет конвейерам передавать больше данных с меньшим количеством ресурсов и меньшей задержкой. Реальные примеры использования от ведущих клиентов Dataflow демонстрируют эффективность этой функции в снижении эксплуатационных расходов и повышении производительности конвейера.
Например, один из клиентов смог сократить количество событий масштабирования воркеров на 75%, что привело к сокращению ежедневных затрат на 64% в Google Compute Engine, а отставание сократилось с ~1 минуты до ~10 секунд.
Эта функция балансировки нагрузки включена по умолчанию для всех клиентов Dataflow во всех регионах, что делает ее легкодоступной без необходимости дополнительной настройки.
В заключение следует отметить, что внедрение чтения пользовательских источников с балансировкой нагрузки в Dataflow знаменует собой важный шаг на пути к повышению эффективности конвейера и снижению затрат, особенно в потоковых средах, где скорость и эффективность имеют первостепенное значение.