기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
이전 KCL 버전으로 롤백
이 주제에서는 KCL 3.5.x 소비자를 이전 버전으로 롤백하는 단계를 설명합니다. 롤백 프로세스는 애플리케이션이 현재 어느 마이그레이션 단계에 있는지에 따라 달라집니다.
중요
KCL 마이그레이션 도구는 2단계(CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X)에서 1단계()로 롤백할 때만 필요합니다CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X_PHASE1. 애플리케이션이 아직 1단계인 경우 도구를 실행하지 않고 이전 코드를 재배포하여 이전 KCL 버전으로 롤백할 수 있습니다.
1단계에서 이전 KCL 버전으로 롤백
애플리케이션이 1단계(CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X_PHASE1)인 경우 이전 코드를 다시 배포하여 이전 KCL 버전으로 롤백할 수 있습니다. 1단계는 이전 KCL 버전과 역호환되며 리스 테이블에 마이그레이션별 항목을 생성하지 않습니다. 마이그레이션 도구가 필요하지 않습니다.
1단계에서 롤백하려면:
-
코드를 이전 KCL 버전과 함께 모든 작업자에게 재배포합니다.
2단계에서 1단계로 롤백
애플리케이션이 2단계(CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X)인 경우 KCL 마이그레이션 도구를 사용하여 1단계로 롤백해야 합니다. 다음 2단계 프로세스로 진행됩니다.
-
KCL 마이그레이션 도구
를 실행합니다. -
1단계 구성으로 코드를 재배포합니다(선택 사항).
중요
두 수준(2단계에서 1단계로, 이후 이전 KCL 버전으로)을 롤백할 수 없습니다. KCL 마이그레이션 도구는 2단계에서 1단계로의 롤백만 처리합니다.
참고
KCL 마이그레이션 도구는 임대 테이블에서 비임대 항목을 삭제하지 않습니다. 이러한 항목은 이전 KCL 버전과 역호환되지 않으므로 2단계에서 이전 KCL 버전으로 직접 2단계 롤백할 수 없습니다.
1단계: KCL 마이그레이션 도구 실행
2단계(CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X)에서 1단계로 롤백해야 하는 경우 KCL 마이그레이션 도구를 실행합니다. 도구는 다음 작업을 수행합니다.
-
DynamoDB의 임대 테이블에서 글로벌 보조 인덱스(LeaseOwnerToLeaseKeyIndex)를 제거합니다. 이 인덱스는 KCL 3.5.x에서 생성되지만 1단계로 롤백할 때는 필요하지 않습니다.
-
따라서 모든 작업자가 KCL 2.x와 호환되는 모드에서 실행되고 이전 KCL 버전에서 사용되는 로드 밸런싱 알고리즘을 사용하기 시작합니다. KCL 3.5.x의 새 로드 밸런싱 알고리즘에 문제가 있는 경우 문제를 즉시 완화합니다.
중요
마이그레이션, 롤백 및 롤포워드 프로세스 중에는 리스 테이블의 조정자 상태 항목(Migration3.0)을 삭제해서는 안 됩니다.
참고
소비자 애플리케이션의 모든 작업자는 지정된 시간에 동일한 로드 밸런싱 알고리즘을 사용해야 합니다. KCL 마이그레이션 도구를 사용하면 KCL 3.5.x 소비자 애플리케이션의 모든 작업자가 KCL 2.x 호환 모드로 전환되어 롤링 배포 중에 모든 작업자가 동일한 로드 밸런싱 알고리즘을 1단계로 다시 실행할 수 있습니다.
KCL GitHub 리포지토리
python3 ./KclMigrationTool.py --region <region> --mode rollback [--application_name <applicationName>] [--lease_table_name <leaseTableName>]
파라미터
-
--region:를
<region>로 바꿉니다 AWS 리전. -
--application_name: 리스 테이블의 기본 이름을 사용하는 경우이 파라미터가 필요합니다. 리스 테이블의 사용자 지정 이름을 지정한 경우이 파라미터를 생략할 수 있습니다.
<applicationName>을 실제 KCL 애플리케이션 이름으로 바꿉니다. 이 도구는 사용자 지정 이름이 제공되지 않은 경우이 이름을 사용하여 기본 테이블 이름을 파생합니다. -
--lease_table_name(선택 사항): 이 파라미터는 KCL 구성에서 리스 테이블에 사용자 지정 이름을 설정한 경우에 필요합니다. 기본 테이블 이름을 사용하는 경우 이 파라미터를 생략할 수 있습니다.
<leaseTableName>을 리스 테이블에 지정한 사용자 지정 테이블 이름으로 바꿉니다.
2단계: 1단계 구성으로 코드 재배포(선택 사항)
2단계에서 1단계로 롤백하기 위해 KCL 마이그레이션 도구를 실행하면 다음 메시지 중 하나가 표시됩니다.
-
메시지 1: "롤백이 완료되었습니다. 애플리케이션이 2단계(2x 호환) 기능을 실행하고 있었습니다. 1단계 구성으로 KCL 3.5.x 애플리케이션을 배포하여 1단계로 롤백하십시오.”
-
필요한 작업: 작업자가 2단계(2x 호환) 모드에서 실행 중이었습니다. 1단계 구성(
CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X_PHASE1)으로 KCL 3.5.x 애플리케이션을 작업자에게 재배포합니다.
-
-
메시지 2: "롤백이 완료되었습니다. KCL 애플리케이션이 2단계(3x) 기능을 실행 중이었고 2단계(2x 호환) 모드로 롤백되었습니다. 잠시 후 완화가 보이지 않으면 1단계 구성으로 KCL 3.5.x 애플리케이션을 배포하여 1단계로 롤백하십시오.”
-
필요한 작업: 작업자가 2단계(3x) 모드에서 실행 중이었고 KCL 마이그레이션 도구가 작업자를 2단계(2x 호환) 모드로 롤백했습니다. 문제가 해결되면 재배포할 필요가 없습니다. 문제가 지속되면 1단계 구성(
CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X_PHASE1)으로 KCL 3.5.x 애플리케이션을 작업자에게 재배포합니다.
-