某公司有两个应用程序:一个发送器,用于发送带有待处理负载的消息;一个处理应用程序,用于接收和处理这些负载。发送器每小时发送大约1,000条消息。消息可能需要长达2天才能处理;失败的消息必须保留,以免阻塞其他消息的处理。哪种解决方案符合这些要求并且操作效率最高?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 将发送器和处理器应用程序与Amazon Simple Queue Service (Amazon SQS)队列集成。配置一个死信队列来收集处理失败的消息。.
为什么这是答案
正确答案是使用Amazon SQS队列并配置死信队列。Amazon SQS是一种完全托管的消息队列服务,非常适合解耦应用程序组件。发送器可以将消息发送到标准SQS队列,处理器从队列中拉取消息进行处理。消息最长可保留14天,满足了消息可能需要长达2天才能处理的需求。配置死信队列(DLQ)可以确保处理失败的消息被隔离,不会阻塞主队列中其他消息的处理,符合“失败的消息必须保留,以免阻塞其他消息的处理”的要求,并且操作效率高。 其他选项不合适: 运行Redis数据库的Amazon EC2实例需要手动管理和维护,不符合操作效率高的要求,且Redis并非专门为持久化消息队列设计。 Amazon Kinesis Data Streams更适用于实时数据流处理,而不是这种消息队列场景,且消息保留期默认为24小时,最长7天,可能无法满足2天的处理时间要求。 Amazon SNS主题是发布/订阅服务,主要用于消息的扇出(fan-out),而不是点对点消息队列。它不提供消息持久化或处理失败后重试的机制,不适合作为消息队列使用。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡