Úvod
Jako technik společnosti Tailwind Traders jste se dozvěděli, že vaše společnost plánuje spustit nový web, který zákazníkům poskytuje informace o cenách akcií. Nedávno stážista vytvořil prototyp webu pro novou aplikaci a vedoucí architekt vás nyní požádal, abyste se toho ujal a vylepšil řešení. Vaším cílem je aktualizovat aplikaci tak, aby implementovaly automatické aktualizace informací o cenách akcií, ale zajistit komunikaci mezi klientem a serverem pouze v případě, že se data na serveru změní.
Prototypová architektura
Prototyp serveru má 2 funkce:
Název funkce | Typ triggeru | Popis |
---|---|---|
získatAkcie | Azure Cosmos DB | Server zodpovídá za čtení všech dat z tabulky akcií v databázi a vrácení dat v odpovědi HTTP, kdykoli je klient požádá. |
setPrice | Časovač | Funkce, která změní data v databázi, běží na triggeru časovače. To simuluje příjem změn z back-endového systému. |
Jako prototyp stážista simuloval datový tok akcií pomocí funkce časovače, která se aktualizuje každou minutu. Klientský web vyžaduje všechny akcie z koncového bodu rozhraní API /api/getStocks
každých 5 sekund při pokusu o zobrazení dat téměř v reálném čase. Tento požadavek klienta není efektivní. Místo vyžádání dat ze serveru je efektivnější, aby server nasdílel všechny nové informace o akciích.
Úkoly, které se mají provést
V tomto modulu:
- Spusťte prototyp: Zobrazte klientskou aplikaci, která odesílá dotazy na server na všechny akcie v pravidelných časových intervalech.
- Vylepšete aplikaci: Implementujte bezserverovou aplikaci Azure Functions k vysílání změn u připojených klientů se službou SignalR Service pro poskytování aktualizací téměř v reálném čase.
- Aktualizujte klientskou webovou aplikaci JavaScript tak, aby se připojila ke službě SignalR, aby získala a zobrazila zprávy.