Amazon Managed Service for Apache Flink는 이전에 Amazon Kinesis Data Analytics for Apache Flink로 알려졌습니다.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
무한한 국가 성장
애플리케이션이 이미 지난 정보를 제대로 처리하지 않으면 낡은 정보가 계속 누적되어 애플리케이션 성능이나 안정성 문제가 발생할 수 있습니다. 이 섹션에서는 이러한 상태에 대한 증상과 문제 해결 조치들을 설명합니다.
증상
이 상태는 다음과 같은 증상이 있을 수 있습니다:
lastCheckpointDuration
지표가 점차 증가하거나 급증함.lastCheckpointSize
지표가 점차 증가하거나 급증함.
원인 및 해결책
다음과 같은 조건에서는 애플리케이션이 상태 데이터를 축적할 수 있습니다.
애플리케이션이 상태 데이터를 필요 기간보다 더 오래 보존하고 있음.
애플리케이션이 윈도우 쿼리를 너무 오랜 시간 동안 사용함.
상태 데이터에 TTL을 설정하지 않았음. 자세한 내용은 Apache Flink 설명서의 상태 유지 시간 (TTL)
을 참조하십시오. 귀하는 지금 Apache Beam 버전 2.25.0 이상을 사용하는 애플리케이션을 실행하고 있습니다. 주요 실험과 가치를 확장하여 새 버전의 읽기 변환을 사용하지 않도록 선택할 수 있습니다 BeamApplicationProperties.
use_deprecated_read
자세한 내용을 알아보려면 Apache Beam 설명서를 참조하세요.
간혹 애플리케이션은 상태 크기가 계속 커지는 상황에 직면하고 있는데, 이는 장기적으로 지속가능하지 않습니다(결국 Flink 애플리케이션은 무한정 실행됩니다). 때로는 데이터를 상태 그대로 저장하고 오래된 정보를 폐기하지 않는 애플리케이션이 원인일 수 있습니다. 하지만 가끔은 Flink가 제공할 수 있는 기능에 대해 지나치게 기대하는 경우가 있습니다. 애플리케이션은 며칠 또는 몇 주에 걸친 긴 단위 시간에 걸쳐 집계를 사용할 수 있습니다. 증분 집계가 가능한 를 사용하지 않는 한 AggregateFunctions
또한 프로세스 함수를 사용하여 맞춤 연산자를 구현하는 경우 애플리케이션은 더 이상 비즈니스 로직에 필요하지 않은 데이터를 상태로부터 제거해야 합니다. 이 경우 상태를
디버깅을 위해서는 증분 체크포인트를 비활성화하여 체크포인트 크기가 실제로 줄어들거나 안정화되는지 더 빨리 확인하고 RockSBS에서 압축으로 인한 영향을 방지하는 것이 좋습니다. 하지만 이를 위해서는 서비스 팀에 대한 티켓이 필요합니다.