Projektujesz przepływ pracy przetwarzania zamówień w usłudze Azure Service Bus. Wszystkie wiadomości dla tego samego OrderID muszą być przetwarzane w ścisłej kolejności FIFO, a Ty musisz utrzymywać stan dla każdego zamówienia w wiadomościach, aby śledzić etap przepływu pracy. Co powinieneś zrobić?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Włącz RequiresSession w docelowej kolejce lub subskrypcji., Ustaw SessionId na OrderID dla wszystkich wiadomości w zamówieniu., Odbieraj wiadomości za pomocą SessionReceiver i użyj GetState/SetState do utrwalenia stanu przepływu pracy dla każdego zamówienia..
Dlaczego to jest odpowiedź
Aby zapewnić ścisłą kolejność FIFO i utrzymanie stanu dla wiadomości z tym samym OrderID w Azure Service Bus, należy włączyć RequiresSession w kolejce lub subskrypcji. Następnie, dla wszystkich wiadomości należących do tego samego zamówienia, należy ustawić SessionId na OrderID. To grupuje wiadomości w sesje. Odbieranie wiadomości powinno odbywać się za pomocą SessionReceiver, który gwarantuje, że wszystkie wiadomości z danej sesji są przetwarzane przez tego samego konsumenta i w kolejności. Metody GetState/SetState na SessionReceiver pozwalają na trwałe przechowywanie stanu przepływu pracy dla każdej sesji (czyli każdego zamówienia). Ustawienie MessageId na OrderID nie gwarantuje kolejności przetwarzania. Odroczenie wiadomości służy do tymczasowego odłożenia wiadomości, a nie do utrzymania kolejności FIFO dla grup wiadomości.
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