翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
KCL 3.x から単一テーブル形式に移行する
3 つのすべての DynamoDB メタデータテーブル (リーステーブル、ワーカーメトリクステーブル、コーディネーター状態テーブル) で KCL 3.x を実行すると、単一のテーブル形式に移行して、すべてのメタデータをリーステーブルに統合できます。
前提条件
-
アプリケーションは、3 つのメタデータテーブルすべてを使用して KCL 3.x を実行します。
-
アプリケーションは安定しており、すべてのワーカーは正常です。
-
アプリケーションは KCL 3.x の移行を完了し、 を設定しません
CoordinatorConfig.clientVersionConfig。テーブルの移行と 2.x から 3.x へのクライアントバージョン移行を同時に実行しないでください。
KCL 3.x から単一テーブル形式に移行するには、2 フェーズのデプロイプロセスに従います。
-
フェーズ 1: プロジェクトの依存関係を KCL 3.5 以降に更新します。を
false(デフォルト)migrateAllEntitiesToLeaseTableに設定してデプロイします。このデプロイでは、単一のテーブル形式をサポートする新しいコードがインストールされますが、移行はアクティブ化されません。 -
すべてのワーカーでデプロイが完了するまで待ちます。が
TableMigrationStatusに達するまで、TableMigration3.5コーディネーター状態エントリをモニタリングしますDEPLOYED。リグレッションがないことを確認し、十分なベイク時間を確保します。 -
フェーズ 2: を
migrateAllEntitiesToLeaseTableに設定して再度デプロイしますtrue。このデプロイでは、単一テーブル形式への移行が開始されます。 -
をモニタリングします
TableMigrationStatus。リーダーワーカーは DEPLOYED、PENDING、COMPLETE を通じて状態を進めます。 -
ステータスが COMPLETE に達したら、リグレッションがないことを確認し、追加のベイク時間を確保して、ロールバックが不要であることを確認します。
-
古いワーカーメトリクスとコーディネーター状態テーブルを手動で削除します。KCL はこれらのテーブルを自動的に削除せず、使用を停止するだけです。
CoordinatorConfig.coordinatorStateTableConfigまたは を設定している場合はLeaseManagementConfig.workerUtilizationAwareAssignmentConfig.workerMetricsTableConfig、これらの設定を非推奨として削除できます。
重要
移行が COMPLETE 状態になった後は、アプリケーションをロールバックしないでください。COMPLETE の後、アプリケーションは単一テーブルモードでのみ動作します。フェーズ 1 へのコードロールバックでも、複数のテーブルには切り替えられません。設定は無視され、アプリケーションはリーステーブルのみを使用し続けます。
移行状態とロールバックオプションの詳細については、「」を参照してくださいKCL の単一テーブル形式。