View a markdown version of this page

OPS04-BP05 实施事务可追溯性 - AWS Well-Architected Framework

OPS04-BP05 实施事务可追溯性

实施应用程序代码并配置工作负载组件以发出事件,通过单个逻辑操作来触发,并跨越工作负载的各种边界进行整合。生成地图以查看踪迹如何在工作负载和服务中流动。了解组件之间的关系,并识别和分析问题。使用收集的信息来确定需要在什么时候作出响应,并帮助您确定导致问题的因素。

期望结果:

  • 收集整个工作负载中的事务踪迹,以便深入了解组件之间的关系。

  • 生成地图,以便更好地了解事务和事件如何在工作负载中流动。

常见反模式:

  • 您跨多个账户实施了无服务器微服务架构。您的客户遇到间歇性性能问题。因为缺乏事务可追溯性,无法查明是哪个功能或组件导致出现问题。

  • 工作负载中存在性能瓶颈。因为缺乏事务可追溯性,您无法查看应用程序组件之间的关系和识别瓶颈。

  • 用作踪迹的标识符不是全局唯一的,导致在分析工作负载行为时出现跟踪冲突。

建立此最佳实践的好处:

  • 了解工作负载中的事务流让您可以了解工作负载事务的预期行为。

  • 您可以在整个工作负载中查看与预期行为之间的差异,并且如有需要,您可以作出应对。

  • 您可以通过事务的已生成唯一标识符来准确地找出事务,而与事务的生成位置无关。

在未建立这种最佳实践的情况下暴露的风险等级:

实施指导

设计应用程序和工作负载,使其发出有关系统组件间的事务流的信息。要包括在事务中的数据是全局唯一的事务标识符、事务阶段、活动组件和完成活动的时间。使用这些信息来确定正在进行的活动、已完成的活动以及已完成活动的结果。

客户示例

在 AnyCompany Retail,所有事务都会生成全局唯一的 UUID。在执行事务期间,此 UUID 在微服务之间传递。当用户与工作负载交互时,该 UUID 用于创建事务踪迹。使用踪迹生成工作负载拓扑图,它用于排查工作负载问题和提高性能。

实施步骤

  1. 检测工作负载中的应用程序以发出事务踪迹。方法是为每个事务生成唯一的标识符,并在应用程序之间传递标识符。

    1. 您可以使用适用于 OpenTelemetry 的 AWS Distro 中的自动仪表化功能,在现有应用程序中实施踪迹,而无需修改应用程序代码。

  2. 生成应用程序拓扑地图。使用这些地图来提高性能、获取见解和帮助进行故障排除。

    1. AWS X-Ray 可以生成工作负载中应用程序的地图。

实施计划的工作量级别:中等。实施事务踪迹可能需要适中的开发工作。

资源

相关最佳实践:

相关文档:

相关视频:

相关示例:

相关服务: