Netflix TechBlog | Medium на русском
Подписаться
Сказка о двух автоскейлерах Flink
Netflix в настоящее время использует два автоскейлера Flink, стремясь перейти к одному решению с открытым исходным кодом. Изначально они разработали собственный автоскейлер для управления тысячами заданий Flink, который оказался эффективным, но имел ограничения в обработке сложных заданий с несколькими операторами. Эта самодельная система полагалась на внешние метрики, которые могли быть неточными или упускать внутренние проблемы заданий. Позже сообщество Apache Flink разработало более совершенный автоскейлер, который анализирует данные непосредственно из самого задания. Этот второй автоскейлер оценивает фактическую скорость обработки оператора для определения оптимальной параллельности на вершину. Netflix склоняется к этому решению с открытым исходным кодом из-за его способности масштабировать задания с состоянием и обеспечивать гранулированную настройку. Внедрение автоскейлера OSS в Netflix потребовало значительной адаптации, включая интеграцию его в существующую плоскость управления. Они также внесли изменения в среду выполнения Flink для лучшего сбора метрик и обработки специфических структур заданий, таких как графы с прямыми связями и ограничения приемников. Приняв автоскейлер OSS, Netflix добился существенной экономии средств и улучшил использование ресурсов. Извлеченные уроки подчеркивают, что качество метрик имеет решающее значение, настраиваемые значения по умолчанию полезны, а принятие существующих решений перед их расширением является мудрой стратегией. Они планируют полностью перейти на автоскейлер на базе OSS для оптимизации операций.