OPS04-BP05 实施事务可追溯性
实施应用程序代码并配置工作负载组件以发出事件,通过单个逻辑操作来触发,并跨越工作负载的各种边界进行整合。生成地图以查看踪迹如何在工作负载和服务中流动。了解组件之间的关系,并识别和分析问题。使用收集的信息来确定需要在什么时候作出响应,并帮助您确定导致问题的因素。
期望结果:
-
收集整个工作负载中的事务踪迹,以便深入了解组件之间的关系。
-
生成地图,以便更好地了解事务和事件如何在工作负载中流动。
常见反模式:
-
您跨多个账户实施了无服务器微服务架构。您的客户遇到间歇性性能问题。因为缺乏事务可追溯性,无法查明是哪个功能或组件导致出现问题。
-
工作负载中存在性能瓶颈。因为缺乏事务可追溯性,您无法查看应用程序组件之间的关系和识别瓶颈。
-
用作踪迹的标识符不是全局唯一的,导致在分析工作负载行为时出现跟踪冲突。
建立此最佳实践的好处:
-
了解工作负载中的事务流让您可以了解工作负载事务的预期行为。
-
您可以在整个工作负载中查看与预期行为之间的差异,并且如有需要,您可以作出应对。
-
您可以通过事务的已生成唯一标识符来准确地找出事务,而与事务的生成位置无关。
在未建立这种最佳实践的情况下暴露的风险等级:低
实施指导
设计应用程序和工作负载,使其发出有关系统组件间的事务流的信息。要包括在事务中的数据是全局唯一的事务标识符、事务阶段、活动组件和完成活动的时间。使用这些信息来确定正在进行的活动、已完成的活动以及已完成活动的结果。
客户示例
在 AnyCompany Retail,所有事务都会生成全局唯一的 UUID。在执行事务期间,此 UUID 在微服务之间传递。当用户与工作负载交互时,该 UUID 用于创建事务踪迹。使用踪迹生成工作负载拓扑图,它用于排查工作负载问题和提高性能。
实施步骤
-
检测工作负载中的应用程序以发出事务踪迹。方法是为每个事务生成唯一的标识符,并在应用程序之间传递标识符。
-
您可以使用适用于 OpenTelemetry 的 AWS Distro
中的自动仪表化功能,在现有应用程序中实施踪迹,而无需修改应用程序代码。
-
-
生成应用程序拓扑地图。使用这些地图来提高性能、获取见解和帮助进行故障排除。
-
AWS X-Ray 可以生成工作负载中应用程序的地图。
-
实施计划的工作量级别:中等。实施事务踪迹可能需要适中的开发工作。
资源
相关最佳实践:
-
OPS04-BP01 实施应用程序遥测 - 应用程序遥测涵盖事务可追溯性和处理且需要先实施。
相关文档:
相关视频:
相关示例:
相关服务: