You are developing an application that will use a message-based delivery system. The solution must be able to store over 90-GB of data and provide an audit trail of all messages.
Which messaging solution should you use?
Select only one answer.
A. Azure Functions
B. Azure Queue Storage
C. Azure Service Bus queues
D. Azure Service Bus topics
D
技巧:排除明显错误选项,在没有明显错误的选项中选择最合理的选项。
用户正在开发一个基于消息传递的应用程序,需要满足以下要求:能够存储超过90GB的数据,提供所有消息的审计跟踪(audit trail)。
A. 不正确。Azure Functions 是一个事件驱动的计算服务,用于运行小块的代码(“函数”)响应各种事件。它本身不提供消息存储或队列系统的服务。不适合作为独立的消息传递解决方案,无法满足审计跟踪的需求。
B. 不正确。Azure Queue Storage 提供了一个简单的消息队列服务,适用于轻量级的消息传递场景。它不提供内置的消息审计跟踪功能,消息一旦被处理(出队)后,默认会被删除,无法直接追踪历史消息,因此无法满足审计需求。
C. 不正确。Azure Service Bus queues 是一个企业级的消息队列服务,支持事务、消息会话和死信队列等高级功能。它支持大规模消息存储(超过90GB)并提供消息审计跟踪功能。可以通过Azure Monitor或自定义日志记录机制记录消息的接收和处理情况,但是审计跟踪仍需额外实现。。
D. 正确。Azure Service Bus topics 提供了发布/订阅消息传递模式,允许消息被多个订阅者接收。Service Bus topics本身不提供内置的审计跟踪功能,但可以通过订阅规则和消息日志记录实现部分跟踪。此外,虽然题目未明确要求发布/订阅模式,但Service Bus topics提供了比queues更灵活的消息分发能力。如果明确是点对点消息传递,queues也是合理的选择。但题目更强调“审计跟踪”,而topics的架构更灵活,更适合企业级审计需求。