두 개의 플링크 자동 스케일러 이야기 노트

두 개의 플링크 자동 스케일러 이야기

Netflix는 현재 두 개의 Flink autoscaler를 운영 중이며, 이를 하나의 오픈소스 솔루션으로 통합하는 것을 목표로 하고 있습니다. 처음에는 수천 개의 Flink 작업을 관리하기 위해 자체 autoscaler를 구축했는데, 이는 효과적이었지만 복잡한 멀티-오퍼레이터 작업을 처리하는 데는 한계가 있었습니다. 이 자체 개발 시스템은 외부 메트릭에 의존했는데, 이는 부정확하거나 내부 작업 문제를 놓칠 수 있었습니다. 이후 Apache Flink 커뮤니티는 작업 자체 내부에서 추론하는 더 정교한 autoscaler를 개발했습니다. 이 두 번째 autoscaler는 오퍼레이터의 실제 처리율을 추정하여 각 버텍스별 최적의 병렬성을 결정합니다. Netflix는 상태 저장 작업을 확장하고 세분화된 구성을 허용하는 능력 때문에 이 오픈소스 솔루션으로 수렴하고 있습니다. Netflix에 OSS autoscaler를 구현하는 데는 기존 제어 평면에 통합하는 것을 포함하여 상당한 조정이 필요했습니다. 또한 메트릭 수집을 개선하고 순방향 연결된 서브그래프 및 싱크 제한과 같은 특정 작업 구조를 처리하기 위해 Flink 런타임을 수정했습니다. OSS autoscaler를 채택함으로써 Netflix는 상당한 비용 절감과 리소스 활용도 향상을 달성했습니다. 학습된 교훈은 메트릭 품질이 중요하며, 조정 가능한 기본값이 유익하고, 기존 솔루션을 확장하기 전에 채택하는 것이 현명한 전략임을 강조합니다. 운영을 간소화하기 위해 OSS 기반 autoscaler로 완전히 마이그레이션할 계획입니다.
CdXz5zHNQW_HJCpS7bDND.png