解決方案構想
本文是解決方案概念。 如果您想要以詳細資訊擴充內容,例如潛在的使用案例、替代服務、實作考慮或定價指引,請提供 GitHub 意見反應讓我們知道。
此行動用戶端應用程式提供與隨附 Web 應用程式的社交影像共用。 應用程式後端服務會使用 Azure 函式執行背景影像處理,而且可以透過通知中樞通知使用者進度。 非映射資料會儲存在 Azure Cosmos DB 中。 Web 應用程式會透過 Azure 流量管理員存取後端服務資料和映射。
請參閱下列服務,這些服務在此解決方案架構中精選:
- Visual Studio Team Services
- Visual Studio
- Visual Studio Tools for Xamarin
- Application Insights
- Visual Studio App Center
- App Service Mobile Apps
潛在使用案例
行動用戶端應用程式在離線模式中運作,可讓您檢視和上傳影像,即使您沒有網路連線亦然。
架構
下載此架構的 SVG 。
資料流程
- 使用 Visual Studio 和 Xamarin 建立應用程式。
- 將 Azure App 服務 Mobile Apps 後端服務新增至應用程式解決方案。
- 透過社交識別提供者實作驗證。
- 將非映射資料儲存在 Azure Cosmos DB 中,並將其快取Azure Cache for Redis。
- 將上傳的影像儲存在 Azure Blob 儲存體。
- 將新上傳影像的相關訊息排入佇列。
- 使用Azure Functions來清除佇列訊息,並處理從 Blob 儲存體擷取的映射。
- 透過通知中樞將推播通知傳送給使用者。
- 透過 Visual Studio App Center 建置及測試應用程式,並加以發佈。
- 控制將使用者流量散發至不同資料中心的服務端點。
- 使用 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 流量管理員 可控制不同資料中心服務端點的使用者流量分佈,以提供高度回應和可用的應用程式。