你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

具有身份验证功能的移动社交应用和 Web 社交应用

应用服务 - 移动应用
函数
流量管理器
Visual Studio
Xamarin

解决方案构想

本文是一种解决方案构想。 如果你希望我们在内容中扩充更多信息,例如潜在用例、备用服务、实现注意事项或定价指南,请通过提供 GitHub 反馈来告知我们。

此移动客户端应用提供与配套 Web 应用共享的社交图像。 应用后端服务使用 Azure 函数执行后台图像处理,并且可以通过通知中心向用户通知进度。 非图像数据将存储在 Azure Cosmos DB 中。 Web 应用通过 Azure 流量管理器访问后端服务数据和图像。

请参阅以下在此解决方案体系结构中提供的服务:

可能的用例

移动客户端应用在脱机模式下工作,这样即使在没有网络连接的情况下,你也可以查看和上传图像。

体系结构

体系结构示意图显示了从工程师到应用程序见解的流程。下载此体系结构的 SVG

数据流

  1. 使用 Visual Studio 和 Xamarin 创建应用。
  2. 将 Azure 应用服务移动应用后端服务添加到应用解决方案。
  3. 通过社交标识提供者实现身份验证。
  4. 将非图像数据存储在 Azure Cosmos DB 中,并将其缓存在 Azure Cache for Redis 中。
  5. 将上传的图像存储在 Azure Blob 存储中。
  6. 将有关新上传图像的消息排队。
  7. 使用 Azure Functions 将消息移出队列并处理从 Blob 存储中检索到的图像。
  8. 通过通知中心向用户发送推送通知。
  9. 通过 Visual Studio App Center 生成和测试应用并发布应用。
  10. 控制用户流量如何分布到不同数据中心内的服务终结点上。
  11. 使用 Application Insights 监视应用服务。

组件

  • Visual Studio 2017 或 Visual Studio for Mac 中使用 C# 生成 Web 前端、移动应用和后端服务。
  • Xamarin:使用 C# 和 Azure SDK 创建用于 iOS 和 Android 的移动应用。
  • Visual Studio App Center:App Center 通过从 BitBucket、GitHub 和 Visual Studio Team Services 拉取代码,实现持续集成和部署工作流。
  • 应用服务 Web 应用可以托管面向客户的 Web 应用以及由 Web 客户端和移动客户端使用的服务。
  • 使用 Azure Functions 进行无服务器后台处理。 例如,一个 Azure 函数可以在将新 Blob 添加到容器时自动调整其大小,而另一个函数则侦听队列上的消息以删除多个背景图像。
  • Application Insights:使用 Application Insights 在 Web 应用中检测问题、诊断故障和跟踪使用情况。 在整个开发生命周期内做出明智的决策。
  • Azure Cosmos DB 是一个完全托管的 NoSQL 文档数据库服务。 它提供基于无架构数据的查询和事务处理、可预测且可靠的性能以及快速开发。
  • Azure 队列存储用于应用服务后端与 Azure Functions 之间的可持久消息传送。
  • Blob 存储:Azure 存储承载图像文件,以便以更低的成本利用更好的可伸缩性。 Web 应用与 Azure 函数之间的通信通常是使用 Blob 触发器和 Azure 队列存储执行的。
  • Azure 通知中心用于可缩放的跨平台推送通知。
  • Azure 流量管理器控制不同数据中心内服务终结点的用户流量分布,以提供具有高响应能力和高可用性的应用程序。

后续步骤