Introduktion

Slutförd

Som tekniker hos Tailwind Traders har du lärt dig att ditt företag planerar att lansera en ny webbplats som tillhandahåller aktiekursinformation till kunder. Nyligen skapade en praktikant en webbplatsprototyp för den nya appen och chefsarkitekten har nu bett dig att ta över och förbättra lösningen. Målet är att uppdatera appen för att implementera automatiska uppdateringar av informationen om aktiekurser, men se till att kommunikationen mellan klienten och servern bara sker när data ändras på servern.

Prototyparkitektur

Serverprototypen har två funktioner:

Funktionsnamn Utlösartyp beskrivning
getStocks Azure Cosmos DB Servern ansvarar för att läsa alla data från lagertabellen i databasen och returnera dessa data i ett HTTP-svar när klienten begär det.
setPrice Timer En funktion för att ändra data i databasen körs på en timerutlösare. Detta simulerar mottagandet av ändringar från ett serverdelssystem.

Som en prototyp simulerade praktikanten lagerflödet med en timerfunktion som uppdateras varje minut. Klientwebbplatsen begär alla aktier från API-slutpunkten /api/getStocks var 5:e sekund i ett försök att visa data i nära realtid. Den här klientbegäran är inte effektiv. I stället för att hämta data från servern är det mer effektivt för servern att skicka all ny lagerinformation.

Uppgifter som ska utföras

I den här modulen kommer du att:

  • Kör prototypen: Visa klientprogrammet, som avsöker servern efter alla aktier med jämna mellanrum
  • Förbättra programmet: Implementera en serverlös Azure Functions-app för att sända ändringar till anslutna klienter med SignalR Service för att få uppdateringar i nära realtid.
  • Uppdatera klientens JavaScript-webbapp för att ansluta till SignalR för att hämta och visa meddelandena.