

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

# 일반적인 애플리케이션 업그레이드 모범 사례 및 권장 사항
<a name="best-practices-recommendations"></a>
+ 프로덕션 업그레이드를 시도하기 전에 비프로덕션 환경에서 상태 없이 새 작업 및 런타임을 먼저 테스트합니다.
+ 상태 저장 업그레이드도 먼저 비프로덕션 애플리케이션에서 테스트하는 것을 고려하세요.
+ 업그레이드된 애플리케이션을 시작하는 데 사용할 스냅샷과 새 작업 그래프의 상태가 서로 호환되는지 반드시 확인합니다.
  + 연산자 상태에 저장되는 유형이 동일하게 유지되어야 합니다. 유형이 변경되면 Apache Flink는 해당 연산자 상태를 복원할 수 없습니다.
  + `uid` 메서드를 통해 설정한 연산자 ID가 동일하게 유지되도록 해야 합니다. Apache Flink는 연산자에 고유한 ID를 지정할 것을 강력히 권장합니다. 자세한 내용을 Apache Flink 설명서의 [연산자 ID 할당](https://nightlies.apache.org/flink/flink-docs-master/docs/ops/state/savepoints/#assigning-operator-ids)을 참조하세요.

    연산자에 ID를 지정하지 않으면 Flink가 ID를 자동으로 생성합니다. 이 경우 프로그램 구조에 따라 달라질 수 있어 구조 변경 시 호환성 문제가 발생할 수 있습니다. Flink는 연산자 ID를 사용해 스냅샷의 상태를 연산자와 연결합니다. 연산자 ID가 변경되면 애플리케이션이 시작되지 않거나 스냅샷에 저장된 상태가 삭제되어 연산자가 상태 없이 실행될 수 있습니다.
  + 키 지정 상태를 저장하는 데 사용되는 키는 변경하지 않습니다.
  + 창 또는 조인과 같은 상태 저장 연산자의 입력 유형은 수정하지 않습니다. 이렇게 하면 연산자의 내부 상태 유형이 암시적으로 변경되어 상태 비호환성을 초래합니다.