本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
从 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. 领导者工作人员通过 “已部署”、“待处理” 和 “完成” 来推进状态。 -
状态变为 “完成” 后,确认没有回归,并留出额外的烘焙时间以确保无需回滚。
-
手动删除旧的工作器指标和协调器状态表。KCL 不会自动删除这些表,它只会停止使用它们。如果您已配置
CoordinatorConfig.coordinatorStateTableConfig或LeaseManagementConfig.workerUtilizationAwareAssignmentConfig.workerMetricsTableConfig,则可以删除这些配置,因为它们已过时。
重要
迁移达到 “完成” 状态后,请勿回滚应用程序。完成后,应用程序仅在单表模式下运行。即使代码回滚到第 1 阶段也不会切换回多个表,配置将被忽略,应用程序继续仅使用租用表。
有关迁移状态和回滚选项的详细信息,请参阅KCL 的单表格式。