Bevezetés
A Tailwind Traders mérnökeként megtanulta, hogy vállalata egy új webhelyet tervez elindítani, amely tőzsdei információkat nyújt az ügyfeleknek. Nemrég egy gyakornok munkatárs létrehozott egy webhelyprototípust az új alkalmazáshoz, a vezető mérnök pedig Önt kérte fel, hogy fejlessze tovább a megoldást. Ön úgy szeretné módosítani az alkalmazást, hogy az automatikusan frissíteni tudja a tőzsdei árfolyamokat, de biztosítani szeretné, hogy az ügyfél és a kiszolgáló között csak akkor történjen kommunikáció, ha a kiszolgálón megváltoznak az adatok.
Prototípus-architektúra
A kiszolgáló prototípusa 2 funkcióval rendelkezik:
Függvénynév | Trigger típusa | Leírás |
---|---|---|
getStocks | Azure Cosmos DB | A kiszolgáló feladata az adatbázis készlettáblájából származó összes adat beolvasása és az adatok HTTP-válaszban való visszaadása, amikor az ügyfél kéri. |
setPrice | Időzítő | Az adatbázis adatainak módosítására szolgáló függvény egy időzítő-eseményindítón fut. Ez egy háttérrendszer módosításainak fogadását szimulálja. |
Prototípusként a gyakornok egy időzítő funkcióval szimulálta a részvénycsatornát, amely percenként frissül. Az ügyfél webhelye 5 másodpercenként kéri le az összes állományt az /api/getStocks
API-végpontról, hogy közel valós idejű adatokat jelenítsen meg. Ez az ügyfélkérés nem hatékony. Ahelyett, hogy lekérte volna az adatokat a kiszolgálóról, hatékonyabb lenne, ha a kiszolgáló leküldi az új részvényinformációkat.
Elvégzendő feladatok
Ebben a modulban a következőkkel foglalkozunk:
- A prototípus futtatása: Tekintse meg az ügyfélalkalmazást, amely rendszeres időközönként lekérdezi a kiszolgálót az összes részvényre vonatkozóan
- Az alkalmazás fejlesztése: Kiszolgáló nélküli Azure Functions-alkalmazás implementálása a csatlakoztatott ügyfelek módosításainak közvetítéséhez a SignalR Service használatával közel valós idejű frissítéseket hozhat létre.
- Frissítse az ügyfél JavaScript-webalkalmazását, hogy csatlakozzon a SignalR-hez az üzenetek lekéréséhez és megjelenítéséhez.