本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從 KCL 3.x 遷移至單一資料表格式
如果您使用所有三個 DynamoDB 中繼資料資料表 (租用資料表、工作者指標資料表和協調器狀態資料表) 執行 KCL 3.x,則可以遷移至單一資料表格式,將所有中繼資料合併到租用資料表。
先決條件
-
您的應用程式會使用所有三個中繼資料表執行 KCL 3.x。
-
您的應用程式穩定且所有工作者都正常運作。
-
您的應用程式已完成 KCL 3
CoordinatorConfig.clientVersionConfig.x 遷移,且未設定 。請勿同時執行資料表遷移和從 2.x 到 3.x 的用戶端版本遷移。
若要從 KCL 3.x 遷移至單一資料表格式,請遵循兩階段部署程序
-
階段 1:將您的專案相依性更新至 KCL 3.5 或更新版本。部署 ,並將
migrateAllEntitiesToLeaseTable設為false(預設值)。此部署會安裝支援單一資料表格式但不會啟用遷移的新程式碼。 -
等待所有工作者完成部署。監控
TableMigration3.5協調器狀態項目,直到TableMigrationStatus達到DEPLOYED。確認沒有迴歸,並允許足夠的製作時間。 -
階段 2:將
migrateAllEntitiesToLeaseTable設為 以再次部署true。此部署會開始遷移至單一資料表格式。 -
監控
TableMigrationStatus。領導者工作者透過 DEPLOYED、待定和完成來推進狀態。 -
狀態達到 COMPLETE 後,請確認沒有迴歸,並允許額外的製作時間,以確保不需要轉返。
-
手動刪除舊的工作者指標和協調器狀態資料表。KCL 不會自動刪除這些資料表,只會停止使用它們。如果您已設定
CoordinatorConfig.coordinatorStateTableConfig或LeaseManagementConfig.workerUtilizationAwareAssignmentConfig.workerMetricsTableConfig,您可以在這些組態已棄用時將其移除。
重要
在遷移達到 COMPLETE 狀態之後,請勿復原應用程式。在 COMPLETE 之後,應用程式只會以單一資料表模式運作。即使程式碼轉返至階段 1 也不會切換回多個資料表,也會忽略組態,而且應用程式只會繼續使用租用資料表。
如需遷移狀態和復原選項的詳細資訊,請參閱 KCL 的單一資料表格式。