我们将大规模连接器策略定义为每个同步请求在 Bureau Works 中生成超过 5000 个工作单元的策略。Bureau Works 中的工作单元是文件 + 工作流步骤 + 语言对的组合。 因此,一个具有 5 个文件、2 个工作流程步骤(翻译 + 审校)和 5 种语言的项目将产生 50 个工作单元。 您可以看到,当您开始将这些变量相乘时,超过5000个工作单元并不是那么困难。虽然很想将所有内容集中在一个单一的项目中,但我们的经验表明,对于大规模连接器来说,按语言对对项目进行分组是最佳方式。这似乎只是您选择如何定义项目的问题,但实际上远不止于此。 在本文中,我们将从以下方面剖析此决定的影响:
- 消息代理
- 解决问题
- 风险缓解
- 排队/性能
- 自动化潜力
- 管理简便
- 可扩展性
消息代理1)消息收发随着大规模连接器的出现呈指数级增长。 我们已经看到连接器为每个同步请求创建超过 100 万条消息。 这导致了巨大的服务器活动和性能问题,可以通过按地区划分项目来缓解。问题解决2) 这直接与风险缓解相关。 但在本地化中,我们经常会看到仅限于特定语言环境的问题,以及它如何影响对给定文件集的解析、分段和前/后处理。 通过在不同的语言环境之间进行拆分,您可以创建特定于语言环境的正则表达式、处理规则和分段,从而在整体架构方面提供更大的灵活性。 与其使用适用于所有情况的固定解决方案,不如根据地区进行迭代,最终可以达到更成熟和可预测的行为模式。风险缓解3) 通过将项目解耦为每个地区一个,你将降低管理风险,因为如果某个地区出现问题,并不意味着整个拉取请求/交付机制会受到影响。 您可以隔离并自然地划分问题。 在 SOP 期间,这似乎不是一件事情,但是当出现意外问题时(在本地化中总是如此),您会很感激建造了一座砖房,而不是用干草制成的房子。排队/性能4)例如,您可以将 15,000 个元素排成一行 10 次,而不是排队 150,000 个元素进行处理。 再次,这似乎不是一个很大的区别,因为您最终必须处理相同的150,000个元素,但拥有按需串行、并行或机会性处理的灵活性为您提供了更多的灵活性和性能带宽。自动化潜力5) 通常,项目决策和工作流在不同地区会是不对称的。 将项目按地区分开可以在长期自动化潜力方面为您提供更大的灵活性。 在按区域设置进行隔离时,您可能会有完全不同的参数和数据集,而不是将所有元素合并在一起。Management6)这也是违反直觉的。 从管理的角度来看,整合通常是实现更好治理的最佳实践。 但在大规模连接器中,情况恰恰相反。 一个项目将自然地根据地区进行筛选,使不同的项目经理更容易负责项目的不同部分,减少使用筛选器生成报告,并在跟踪每个地区的进展方面创造更大的简化。可扩展性7) 使用大规模连接器时,您将达到一个无法通过将所有工作单元组合成单个项目来进行扩展的地步。 通过分离,您为更容易长期扩展的程序奠定了框架。 请记住,当涉及到工作单元和消息时,事情会成倍增加。 通过按区域设置进行分隔,可以消除一个大型乘法变量,从而可以更轻松地进行扩展。结论是,有一种错觉认为整合更好。 每个项目一个 pull request 让每个人的生活更轻松。 虽然这适用于小规模连接器,但在大规模连接器中却分崩离析。 我们的目标始终是为我们的客户提供最优雅和可靠的解决方案,我们一次又一次地看到,在大规模情况下,分而治之是可行的方法。
在单个项目中整合根据地区分离整个项目具有0或1的状态状态可以根据地区分层单一解析、过滤和正则表达式框架灵活的框架根据地区单通道排队每个项目灵活的排队和处理自然分配处理在项目内根据地区过滤减少一个过滤步骤适用于所有情况的自动化规则地区特定的自动化参数和数据从风险角度来看,所有鸡蛋都放在一个篮子里风险分布在各个地区复杂的隔离和故障排除减少一个巨大的变量使故障排除更容易