簡介
您身為 Tailwind Traders 的工程師,得知公司打算推出為客戶提供股價資訊的新網站。 最近,實習生針對新應用程式建立了網站原型,而首席架構設計師現在要求您逐步執行並改進該解決方案。 您的目標是更新應用程式,以實作自動更新股票價格資訊,但要確定只有當伺服器上的資料變更時,才會在用戶端和伺服器之間進行通訊。
原型架構
伺服器原型有 2 項功能:
函式名稱 | 觸發程序類型 | 描述 |
---|---|---|
getStocks | Azure Cosmos DB | 伺服器負責從資料庫的股票資料表讀取所有資料,並在用戶端要求資料時,傳回 HTTP 回應中的資料。 |
setPrice | 計時器 | 變更資料庫資料的功能,透過計時器觸發程序執行。 這會模擬從後端系統接收變更。 |
原型使用計時器功能模擬股票摘要,每分鐘都會更新一次。 用戶端網站每隔 5 秒從 /api/getStocks
API 端點要求所有股票,嘗試顯示近乎即時的資料。 這種用戶端要求效率不彰。 相較於從伺服器提取資料,由伺服器推送任何新的股票資訊效率更高。
要完成的工作
在本單元中,您將:
- 執行原型:檢視用戶端應用程式,它會定期向伺服器輪詢所有股票
- 改善應用程式:實作無伺服器 Azure Functions 應用程式,使用 SignalR Service 向連線用戶端廣播變更,實現近乎即時的更新。
- 更新用戶端 JavaScript Web 應用程式,以連線到 Azure SignalR Service 取得並顯示訊息。