简介
许多应用程序由在多个不同计算机或设备上运行的程序组成。 在此类分布式应用中,必须跨网络和长距离在组件之间发送消息。 即使在同一服务器上或同一数据中心中,松散耦合的体系结构也需要供组件进行通信的机制。 可靠的消息传递通常是一个关键问题。
假设你在开发音乐共享应用程序的软件公司工作。 音乐家可以使用 Web 前端或移动应用将他们创作的音乐上传到你的平台。 他们可以收听并评论其他成员的作品。 该应用程序包括一个在 ISP 运行的网站、一个在用户移动设备上运行的移动应用、一个在 Azure 中运行的 Web API,以及一个用于存储数据的 Azure SQL 数据库。
你已经注意到,在需求高时,一些音乐文件并未成功上传,一些评论也没有发布。 测试表明,这些问题是由前端组件和 Web API 之间丢弃的消息引起的。 你打算使用以下技术中的一个或多个来解决这些问题:Azure 存储队列,Azure 事件中心,Azure 事件网格和 Azure 服务总线。
在这里,你将了解如何在 Azure 中为分散式应用程序中的每个通信任务选择正确的消息传递技术。
学习目标
在本模块中,将执行以下操作:
- 描述事件和消息以及可以在分布式应用程序中使用它们来应对的挑战。
- 确定存储队列是应用程序最佳消息传递技术的方案。
- 确定事件网格是应用程序最佳消息传递技术的方案。
- 确定事件中心是应用程序最佳消息传递技术的方案。
- 确定服务总线是应用程序最佳消息传递技术的方案。