本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
从 KCL 3.x 迁移到单表格式
如果您使用所有三个 DynamoDB 元数据表(租赁表、工作器指标表和协调器状态表)运行 KCL 3.x,则可以迁移到单表格式以将所有元数据合并到租赁表中。
先决条件
-
您的应用程序运行包含所有三个元数据表的 KCL 3.x。
-
您的应用程序是稳定的,所有工作人员都很健康。
-
您的应用程序已完成 KCL 3.x 迁移,但尚未进行配置。
CoordinatorConfig.clientVersionConfig请勿同时执行表迁移和从 2.x 到 3.x 的客户端版本迁移。
要从 KCL 3.x 迁移到单表格式,请遵循两阶段部署流程
-
第 1 阶段:将项目依赖关系更新到 KCL 3.5 或更高版本。在
migrateAllEntitiesToLeaseTable设置为false(默认)的情况下部署。此部署会安装支持单表格式但不会激活迁移的新代码。 -
等待所有工作人员的部署完成。监控
TableMigration3.5协调器状态条目,直到到TableMigrationStatus达DEPLOYED。确认没有回归并留出足够的烘焙时间。 -
第 2 阶段:在
migrateAllEntitiesToLeaseTable设置为的情况下再次部署true。此部署开始向单表格式的迁移。 -
监控
TableMigrationStatus. 领导者工作人员通过 “已部署”、“待定” 和 “完成” 来推进状态。 -
状态变为 COMPLETE 后,确认没有回归,并留出额外的烘焙时间以确保无需回滚。
-
手动删除旧的工作器指标和协调器状态表。KCL 不会自动删除这些表,而只是停止使用它们。如果您已配置
CoordinatorConfig.coordinatorStateTableConfig或LeaseManagementConfig.workerUtilizationAwareAssignmentConfig.workerMetricsTableConfig,则可以删除这些配置,因为它们已被弃用。
重要
迁移到达 “完成” 状态后,请勿回滚应用程序。完成后,应用程序仅在单表模式下运行。即使代码回滚到第 1 阶段也不会切换回多个表,配置会被忽略,应用程序继续仅使用租用表。
有关迁移状态和回滚选项的详细信息,请参阅KCL 的单表格式。