解决方案体系结构:带有身份验证的社交移动和 Web 应用

一个用于共享社交图像的移动客户端应用,具有一个配套的 Web 应用。该应用的后端使用 Azure Function 处理后台图像。该移动客户端应用在脱机模式下运行,让用户在即便未联网的情况下也能查看和上载图像。

此解决方案建立在 Azure 托管服务上:应用服务, 流量管理器, DocumentDB, Redis 缓存, 通知中心, Azure Active Directory, 函数, Application InsightsHockeyApp。这些服务在高度可用的环境中运行,进行了修补和支持,使你可以将精力集中在解决方案上,而非运行它们的环境上。

带有身份验证的社交移动和 Web 应用 显示带有身份验证的社交移动和 Web 应用的解决方案体系结构的关系图,该应用基于 Azure 托管服务应用服务、流量管理器、DocumentDB、Redis 缓存、通知中心、Azure Active Directory、函数、Application Insights 和 HockeyApp 构建。 Application Insights App Service Phone & Tablet Traffic Manager Other regions HockeyApp Notification Hub Continuous integrationand deployment Browser Identity provider Document DB Redis Cache Queue Blob Storage Function

实施指南

产品 文档

应用服务

应用服务 Web 应用可以托管面向客户的 Web 应用以及 Web 和移动客户端所使用的服务。

流量管理器

Azure 流量管理器可将用户定向到网络延迟最低的应用服务实例,从而提高应用性能和内容交付速度。

DocumentDB

DocumentDB 是一项完全托管的 NoSQL 数据库服务,旨在实现快速而可预测的性能、高可用性、自动缩放和全局分发。

Redis 缓存

Redis 缓存可减少主数据库上的负载,从而实现高吞吐量、低延迟的数据访问并改善可伸缩性。

队列存储

Azure 队列用于实现应用服务后端与 Azure Functions 之间的持久消息传送。

Blob 存储

图像存储在 Azure 存储空间中,既能利用更出色的可伸缩性,又降低了成本。Web 应用与 Azure Function 之间的通信通常使用 Blob 触发器和 Azure 队列来执行。

通知中心

Azure 通知中心用于可缩放的跨平台推送通知。

Azure Active Directory

Azure Active Directory 用于安全的企业级身份验证。

函数

使用 Azure Functions 进行无服务器的后台处理操作。例如,无论何时向容器添加新的 Blob,都会有一个 Azure Function 自动重设其大小。另一个 Azure Function 则可以侦听队列上的消息,以便删除后台中的多个图像。

Application Insights

使用 Application Insights 在 Web 应用中检测问题、诊断崩溃并跟踪使用情况。在整个开发生命周期内做出明智的决定。

HockeyApp

使用 HockeyApp 获取崩溃报告、跟踪应用使用情况以及分发移动应用。

标识提供者

使用应用服务身份验证/授权与社交或企业标识提供者集成。

持续集成和部署

应用服务通过从 BitBucket、GitHub 和 Visual Studio Team Services 中拉取代码,来实现持续集成和部署工作流。

相关解决方案体系结构