正确答案: 创建一个Amazon Simple Notification Service (Amazon SNS) topic。将Amazon Simple Queue Service (Amazon SQS) queues订阅到SNS topic。配置SNS消息过滤,根据报价类型将消息发布到适当的SQS queue。配置每个后端应用程序服务器使用其自己的SQS queue。.
为什么这是答案
正确答案通过结合Amazon SNS和SQS实现了高可用、低延迟和可扩展的消息处理。SNS作为发布/订阅服务,可以将报价请求发布到单个主题,然后通过消息过滤将不同类型的报价路由到相应的SQS队列。SQS提供可靠的消息存储,确保消息在24小时内不丢失,并且后端应用程序可以异步处理这些消息。这种架构减少了维护工作,因为SNS和SQS都是完全托管的服务,并且通过解耦生产者和消费者提高了运营效率。
A选项的Kinesis Data Streams虽然能处理高吞吐量,但维护KCL客户端和多个数据流会增加操作复杂性。B选项的Lambda和SNS组合虽然无服务器,但每个报价类型一个Lambda函数和SNS主题会增加管理负担,且Lambda的同步调用可能不适合所有异步处理场景。D选项的Kinesis Data Firehose和OpenSearch Service主要用于日志分析和搜索,不适合作为主要的消息队列系统来确保消息不丢失和按类型处理。