기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
KCL 3.x에서 단일 테이블 형식으로 마이그레이션
세 개의 DynamoDB 메타데이터 테이블(리스 테이블, 작업자 지표 테이블 및 조정자 상태 테이블)을 모두 사용하여 KCL 3.x를 실행하는 경우 단일 테이블 형식으로 마이그레이션하여 모든 메타데이터를 리스 테이블에 통합할 수 있습니다.
사전 조건
-
애플리케이션은 세 메타데이터 테이블 모두에서 KCL 3.x를 실행합니다.
-
애플리케이션이 안정적이고 모든 작업자가 정상입니다.
-
애플리케이션이 KCL 3.x 마이그레이션을 완료했으며를 구성하지 않습니다
CoordinatorConfig.clientVersionConfig. 테이블 마이그레이션과 클라이언트 버전 마이그레이션을 2.x에서 3.x로 동시에 수행하지 마십시오.
KCL 3.x에서 단일 테이블 형식으로 마이그레이션하려면 2단계 배포 프로세스를 따릅니다.
-
1단계: 프로젝트 종속성을 KCL 3.5 이상으로 업데이트합니다. 를 로
migrateAllEntitiesToLeaseTable설정하여 배포합니다false(기본값). 이 배포는 단일 테이블 형식을 지원하지만 마이그레이션을 활성화하지 않는 새 코드를 설치합니다. -
모든 작업자에 대해 배포가 완료될 때까지 기다립니다. 가에
TableMigrationStatus도달할 때까지TableMigration3.5조정자 상태 항목을 모니터링합니다DEPLOYED. 회귀가 없는지 확인하고 충분한 베이크 시간을 허용합니다. -
2단계: 를 로
migrateAllEntitiesToLeaseTable설정하여 다시 배포합니다true. 이 배포는 단일 테이블 형식으로 마이그레이션을 시작합니다. -
를 모니터링합니다
TableMigrationStatus. 리더 작업자는 DEPLOYED, PENDING 및 COMPLETE를 통해 상태를 진행합니다. -
상태가 COMPLETE에 도달하면 회귀가 없는지 확인하고 롤백이 필요하지 않도록 추가 베이크 시간을 허용합니다.
-
이전 작업자 지표 및 조정자 상태 테이블을 수동으로 삭제합니다. KCL은 이러한 테이블을 자동으로 삭제하지 않고 사용만 중지합니다.
CoordinatorConfig.coordinatorStateTableConfig또는를 구성한 경우LeaseManagementConfig.workerUtilizationAwareAssignmentConfig.workerMetricsTableConfig더 이상 사용되지 않으므로 이러한 구성을 제거할 수 있습니다.
중요
마이그레이션이 COMPLETE 상태에 도달한 후에는 애플리케이션을 롤백하지 마십시오. COMPLETE 이후 애플리케이션은 단일 테이블 모드에서만 작동합니다. 1단계로의 코드 롤백도 여러 테이블로 다시 전환되지 않습니다. 구성은 무시되고 애플리케이션은 리스 테이블만 계속 사용합니다.
마이그레이션 상태 및 롤백 옵션에 대한 자세한 내용은 섹션을 참조하세요KCL용 단일 테이블 형식.