Вы разрабатываете рабочий процесс обработки заказов на основе Azure Service Bus. Все сообщения для одного и того же OrderID должны обрабатываться строго в порядке FIFO, и вам необходимо поддерживать состояние для каждого заказа между сообщениями, чтобы отслеживать этап рабочего процесса. Что вы должны сделать?
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Включить RequiresSession для целевой очереди или подписки., Установить SessionId равным OrderID для всех сообщений в заказе., Получать сообщения с помощью SessionReceiver и использовать GetState/SetState для сохранения состояния рабочего процесса для каждого заказа..
Почему это правильный ответ
Для обеспечения строгого порядка FIFO и сохранения состояния между сообщениями для одного OrderID в Azure Service Bus, необходимо использовать сессии. Включение RequiresSession для очереди или подписки активирует функциональность сессий. Установка SessionId равным OrderID для всех сообщений в заказе гарантирует, что все сообщения, относящиеся к одному заказу, будут обрабатываться в рамках одной сессии. Получение сообщений с помощью SessionReceiver позволяет обрабатывать сообщения последовательно внутри сессии, а методы GetState/SetState используются для сохранения и извлечения состояния рабочего процесса, связанного с этой конкретной сессией (заказом). Установка MessageId равным OrderID не гарантирует порядок обработки, так как MessageId используется для обнаружения дубликатов, а не для упорядочивания. Отложенная обработка сообщений (message deferral) позволяет временно отложить сообщение, но не обеспечивает строгий порядок FIFO для группы сообщений и не поддерживает состояние между ними.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется