Budujesz system inwentaryzacji zapasów, który musi utrzymywać liczbę sztuk dla każdego przedmiotu z wysoką współbieżnością i gwarantować, że aktualizacje dla tego samego przedmiotu są serializowane. Wielu klientów będzie zwiększać i zmniejszać zapasy oraz sporadycznie odczytywać bieżącą liczbę. Jakie dwie czynności należy wykonać za pomocą Durable Functions?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Utwórz funkcję Durable Entity (np. Inventory), która definiuje operacje takie jak AddStock i RemoveStock i utrzymuje stan w kontekście encji., Z funkcji wyzwalanej przez HTTP skonstruuj EntityId ("Inventory", itemId) i wywołaj IDurableEntityClient.SignalEntityAsync, aby wysłać aktualizacje; użyj ReadEntityStateAsync, aby odpytać bieżący stan magazynowy..
Dlaczego to jest odpowiedź
Durable Entities są idealne do zarządzania stanem, który musi być aktualizowany z wysoką współbieżnością i serializacją. Tworząc Durable Entity (np. Inventory) z operacjami takimi jak AddStock i RemoveStock, zapewniasz, że wszystkie operacje na danym przedmiocie są przetwarzane sekwencyjnie, co zapobiega wyścigom danych i gwarantuje spójność licznika. Aby wywołać te operacje, używasz IDurableEntityClient.SignalEntityAsync z funkcji wyzwalanej przez HTTP, co wysyła komunikat do encji. Odczyt stanu odbywa się za pomocą ReadEntityStateAsync. Użycie IDurableOrchestrationClient.StartNewAsync dla każdego żądania nie gwarantuje serializacji dla tego samego elementu, ponieważ każdy orchestrator działa niezależnie. Przechowywanie liczników w statycznym słowniku w pamięci z blokadami C nie jest skalowalne ani trwałe w środowisku bezserwerowym. Utrwalanie liczników w Table storage z ETagami wymagałoby ręcznej implementacji logiki serializacji i obsługi błędów, co Durable Entities robią automatycznie i bardziej efektywnie.
Zdaj egzamin — bez niekończącego się szukania odpowiedzi
Uzyskaj wszystkie zweryfikowane pytania i wyjaśnienia do tego egzaminu w jednym miejscu i zaoszczędź godziny przygotowań. Ponad 1000 certyfikacji · Ponad 20 języków · Zacznij za darmo.
Zdaj egzamin szybciej → Karta nie jest wymagana