考题解析 | 使用 Azure Event Grid 构建高度可缩放、完全托管的发布-订阅消息分发应用


  题目

You are designing a music-sharing application in Azure. You need to recommend an application design that meets the following requirements: The application must support more than 10,000 users from many countries. The application must notify users when new music is uploaded to Azure. Users must be able to decide when they want to access new music.
What should you recommend using to route the required information for new music?
Select only one answer.
A. Azure Event Grid
B. Azure Event Hubs
C. Azure Monitor
D. Azure Queue Storage

  参考答案

A

  参考解析

技巧:排除明显错误选项,在没有明显错误的选项中选择最合理的选项。
用户正在设计一个音乐分享应用程序,需要满足以下要求:支持超过 10,000 名来自多个国家的用户。当新音乐上传到 Azure 时,必须通知用户。用户必须能够决定何时访问新音乐即通知可以是异步的,用户可以按需拉取。需要推荐一个 Azure 服务,用于路由新音乐上传的相关信息。

A. 正确。Azure Event Grid。Azure Event Grid 是一个完全托管的事件路由服务,支持将事件发布到多个订阅者,如 Azure Functions、Webhooks、Event Hub 等。适合实时事件通知,如新音乐上传时触发通。支持自定义主题,如“新音乐上传”事件,用户可以订阅这些主题。支持 Webhooks,用户可以通过自己的端点接收通知,并决定何时处理,例如在用户主动拉取时。优势在于无需轮询,事件驱动,适合实时通知。支持大规模分发(超过 10,000 用户)。用户可以通过自定义逻辑(如 Webhook)控制何时处理通知。
B. 不正确。Azure Event Hubs。Azure Event Hub 是一个高吞吐量的数据流平台,用于处理大规模数据流,如物联网设备数据、日志等。但是它不是为实时事件通知设计的,而是为数据摄取和流处理设计的。用户需要主动轮询或使用其他服务(如 Stream Analytics)处理数据,不适合直接通知用户。
C. 不正确。Azure Monitor。Azure Monitor 用于监控 Azure 资源、收集日志和指标。不是为应用程序事件通知设计的。无法直接用于通知用户新音乐上传。与题目需求无关。
D. 不正确。Azure Queue Storage。Azure Queue Storage 用于存储和检索消息,适合点对点通信或任务队列。用户需要主动轮询队列以获取新消息,无法实现实时通知。适合后台任务处理,不适合用户通知场景。