Q59 — AWS SAA-C03 第12章

第 59/100 题 | ← 返回第12章

Q859.一家公司正在设计一个事件驱动的订单处理系统.每个订单在创建后都需要多个验证步骤.幂等 AWS Lambda 函数执行每个验证步骤.每个验证步骤都独立于其他验证步骤.各个验证步骤仅需要订单事件信息的子集.该公司希望确保 Lambda 函数的每个验证步骤只能访问该函数所需的订单事件中的信息.订单处理系统的组件应该是松散耦合的,以适应未来的业务变化.哪种解决方案可以满足这些要求?

正确答案: C. 创建 Amazon EventBridge 事件总线.为每个验证步骤创建事件规则.配置输入转换器以仅将所需数据发送到每个目标验证步骤 Lambda 函数.

解析

为了满足设计具有松散耦合组件的事件驱动订单处理系统的要求,并确保每个验证步骤 Lambda 函数只能访问订单事件中所需的信息,推荐的解决方案是:C. 创建 Amazon EventBridge 事件总线.为每个验证步骤创建事件规则.配置输入转换器以仅将所需的数据发送到每个目标验证步骤 Lambda 函数.原因如下:选项 C 建议创建 Amazon EventBridge 事件总线并为每个验证步骤配置事件规则.通过使用 EventBridge,您可以解耦订单处理系统的组件,并确保每个验证步骤 Lambda 函数仅从订单事件接收必要的信息.通过此解决方案,您可以为每个验证步骤定义单独的事件规则,使用输入转换器指定所需的数据转换和过滤.这允许您自定义并仅将订单事件中的相关数据子集发送到每个目标 Lambda 函数.通过提供对所需信息的选择性访问,您可以优化每个验证步骤的性能和资源使用情况.EventBridge 提供灵活且可扩展的事件路由功能,允许您集成多个事件源和目标.它使您能够轻松连接和协调不同的服务和组件,使其适合构建能够适应未来业务变化的松散耦合系统.选项 A 建议为每个验证步骤创建一个 Amazon Simple Queue Service (Amazon SQS) 队列,并使用新的 Lambda 函数转换订单数据并将消息发布到适当的 SQS 队列.虽然这种方法提供了解耦,但它需要单独的队列和转换 Lambda 函数,从而引入了额外的复杂性.选项 B 建议使用具有消息正文过滤功能的 Amazon Simple Notification Service (Amazon SNS),仅将所需数据发送到每个订阅的 Lambda 函数.虽然 SNS 提供扇出消息传递,但它主要针对发布/订阅场景而设计,可能无法提供此用例所需的对数据转换和过滤的细粒度控制.选项 D 建议使用 Amazon SQS 和转换 Lambda 函数来并行执行验证步骤 Lambda 函数的同步调用.这种方法紧密耦合了处理步骤并引入了同步行为,这对于事件驱动系统来说可能并不理想.它还通过要求单独的线程和管理并行调用增加了复杂性.总之,推荐的解决方案是创建 Amazon EventBridge 事件总线,为每个验证步骤定义事件规则,并配置输入转换器以仅将所需的数据发送到每个目标验证步骤 Lambda 函数.此解决方案提供松散耦合、选择性数据访问以及订单处理系统未来更改的灵活性.