具有驗證的行動和 Web 社交應用程式

Azure App Service
Azure Functions
Azure 流量管理員
Visual Studio
Xamarin

解決方案構想

本文是解決方案概念。 如果您想要以詳細資訊擴充內容,例如潛在的使用案例、替代服務、實作考慮或定價指引,請提供 GitHub 意見反應讓我們知道。

此行動用戶端應用程式提供與隨附 Web 應用程式的社交影像共用。 應用程式後端服務會使用 Azure 函式執行背景影像處理,而且可以透過通知中樞通知使用者進度。 非映射資料會儲存在 Azure Cosmos DB 中。 Web 應用程式會透過 Azure 流量管理員存取後端服務資料和映射。

請參閱下列服務,這些服務在此解決方案架構中精選:

潛在使用案例

行動用戶端應用程式在離線模式中運作,可讓您檢視和上傳影像,即使您沒有網路連線亦然。

架構

架構圖顯示從工程師到 Application Insights 的路線。下載此架構的 SVG

資料流程

  1. 使用 Visual Studio 和 Xamarin 建立應用程式。
  2. 將 Azure App 服務 Mobile Apps 後端服務新增至應用程式解決方案。
  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提取程式碼,來啟用持續整合和部署工作流程。
  • App Service Web 應用程式可以裝載客戶面向的 Web 應用程式和 Web 用戶端所使用的服務。
  • 使用Azure Functions進行無伺服器背景處理。 例如,一個 Azure 函式可以在新增至容器時自動調整新 Blob 的大小,而另一個函式會接聽佇列上的訊息,以刪除多個背景影像。
  • Application Insights:使用 Application Insights 偵測問題、診斷當機,以及追蹤 Web 應用程式中的使用狀況。 在整個開發生命週期中做出明智的決策。
  • Azure Cosmos DB 是完全受控的 NoSQL 檔資料庫服務。 它提供無架構資料的查詢和交易處理、可預測且可靠的效能,以及快速開發。
  • Azure佇列儲存體用於App Service後端與Azure Functions之間的長期傳訊。
  • Blob 儲存體:Azure 儲存體會裝載映射檔案,以利用成本較低的更佳延展性。 Web 應用程式和 Azure 函式之間的通訊通常會使用 Blob 觸發程式和 Azure 佇列儲存體來執行。
  • Azure 通知中樞 用於可調整的跨平臺推播通知。
  • Azure 流量管理員 可控制不同資料中心服務端點的使用者流量分佈,以提供高度回應和可用的應用程式。

下一步