애플리케이션 리소스 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink는 이전에 Amazon Kinesis Data Analytics for Apache Flink로 알려졌습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

애플리케이션 리소스

이 섹션에서는 애플리케이션에서 사용하는 시스템 리소스에 대해 설명합니다. Managed Service for Apache Flink가 리소스를 프로비저닝하고 사용하는 방법을 이해하면 성능이 뛰어나고 안정적인 Apache Flink용 관리형 서비스 애플리케이션을 설계, 작성 및 유지 관리하는 데 도움이 됩니다.

아파치 Flink 애플리케이션 리소스를 위한 매니지드 서비스

Apache Flink용 관리형 AWS 서비스는 Apache Flink 애플리케이션을 호스팅하기 위한 환경을 만드는 서비스입니다. Managed Service for Apache Flink는 Kinesis 처리 단위(KPU)라는 단위를 사용하여 리소스를 제공합니다.

하나의 KPU는 다음과 같은 시스템 리소스를 나타냅니다.

  • 하나의 CPU 코어

  • 4GB 메모리. 이 중 1GB는 기본 메모리이고 3GB는 힙 메모리입니다.

  • 50GB의 여유 디스크 공간

KPU는 작업하위 작업이라는 별개의 실행 단위로 애플리케이션을 실행합니다. 하위 작업은 스레드와 같다고 생각할 수 있습니다.

애플리케이션에서 사용할 수 있는 KPU 수는 애플리케이션 Parallelism 설정을 애플리케이션 ParallelismPerKPU 설정으로 나눈 값과 같습니다.

애플리케이션 병렬성에 대한 자세한 내용을 알아보려면 스케일링 섹션을 참조하세요.

Apache Flink 환경에서는 작업 슬롯이라는 단위를 사용하여 애플리케이션에 리소스를 할당합니다. Managed Service for Apache Flink는 애플리케이션에 리소스를 할당할 때 하나 이상의 Apache Flink 작업 슬롯을 단일 KPU에 할당합니다. 단일 KPU에 할당된 슬롯 수는 애플리케이션의 ParallelismPerKPU 설정과 같습니다. 작업 슬롯에 대한 자세한 내용은 Apache Flink 설명서의 작업 스케줄링을 참조하십시오.

연산자가 사용할 수 있는 최대 하위 작업 수를 설정할 수 있습니다. 이 값을 연산자 병렬성이라고 합니다. 기본적으로 애플리케이션의 각 연산자의 병렬성은 애플리케이션의 병렬성과 동일합니다. 즉, 기본적으로 애플리케이션의 각 연산자는 필요한 경우 애플리케이션에서 사용 가능한 모든 하위 작업을 사용할 수 있습니다.

setParallelism 메서드를 사용하여 애플리케이션의 연산자 병렬성을 설정할 수 있습니다. 이 방법을 사용하면 각 연산자가 한 번에 사용할 수 있는 하위 작업의 수를 제어할 수 있습니다.

연산자에 대한 자세한 내용은 Apache Flink 설명서의 연산자를 참조하십시오.

일반적으로 각 연산자는 별도의 하위 작업을 사용하여 실행하지만 여러 연산자가 항상 순서대로 실행되는 경우 런타임에서 이들 모두를 동일한 작업에 할당할 수 있습니다. 이 프로세스를 연산자 연결이라고 합니다.

순차 연산자 여러 개가 모두 같은 데이터에 대해 연산을 수행하는 경우 여러 연산자를 단일 작업으로 연결할 수 있습니다. 이를 실현하기 위해 필요한 몇 가지 기준은 다음과 같습니다.

  • 운영자는 일대일 단순 전달을 수행합니다.

  • 연산자는 모두 동일한 연산자 병렬성을 갖습니다.

애플리케이션이 연산자를 단일 하위 작업으로 연결하면 서비스가 네트워크 작업을 수행하고 연산자별로 하위 작업을 할당할 필요가 없으므로 시스템 리소스가 절약됩니다. 애플리케이션에서 연산자 연결을 사용하고 있는지 확인하려면 Managed Service for Apache Flink 콘솔의 작업 그래프를 살펴보세요. 애플리케이션의 각 꼭짓점은 하나 이상의 연산자를 나타냅니다. 그래프에는 체인으로 연결된 연산자가 단일 꼭지점으로 표시됩니다.