Ú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í. Mladý stážista nedávno vytvořil prototyp webu s novou aplikací a hlavní architekt vás teď požádal, abyste se do věci vložili a návrh vylepšili. Vaším cílem je upravit aplikaci tak, aby používala automatické aktualizace cen akcií, ale zároveň zajistit, aby komunikace mezi klientem a serverem probíhala pouze v případě, že se data na serveru změní.
Prototypová architektura
Prototyp serveru má 2 funkce:
Název funkce | Typ aktivační události | Popis |
---|---|---|
getStocks | 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 simuloval internovaný informační kanál zásob s funkcí časovače, která se aktualizuje každou minutu. Klientský web vyžaduje všechny akcie z koncového /api/getStocks
bodu rozhraní API 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á dotazuje server na všechny akcie v pravidelných intervalech.
- Vylepšete aplikaci: Implementujte bezserverovou aplikaci Azure Functions, která bude vysílat změny připojených klientů pomocí služby SignalR service k produktu 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.