Вы создаете систему учета запасов, которая должна поддерживать количество товаров с высокой степенью параллелизма и гарантировать сериализацию обновлений для одного и того же товара. Несколько клиентов будут увеличивать и уменьшать запасы, а также периодически считывать текущее количество. Какие два действия следует предпринять с помощью Durable Functions?
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Создайте функцию Durable Entity (например, Inventory), которая определяет операции, такие как AddStock и RemoveStock, и поддерживает состояние в контексте сущности., Из функции, запускаемой по HTTP, создайте EntityId ("Inventory", itemId) и вызовите IDurableEntityClient.SignalEntityAsync для отправки обновлений; используйте ReadEntityStateAsync для запроса текущего запаса..
Почему это правильный ответ
Durable Entities идеально подходят для управления состоянием с высокой степенью параллелизма, обеспечивая сериализацию операций для одного и того же элемента. Создание Durable Entity (например, Inventory) позволяет инкапсулировать логику управления запасами (AddStock, RemoveStock) и поддерживать состояние внутри сущности. Для взаимодействия с сущностью из HTTP-триггера следует создать EntityId и использовать IDurableEntityClient.SignalEntityAsync для асинхронной отправки обновлений без ожидания ответа, что повышает производительность. Для получения текущего состояния используется ReadEntityStateAsync. Использование IDurableOrchestrationClient.StartNewAsync для каждого обновления неэффективно и не гарантирует сериализацию операций для одного и того же элемента. Хранение счетчиков в статическом словаре в памяти не масштабируется и не обеспечивает устойчивости. Использование Table storage с ETags требует ручной реализации логики сериализации и обработки конфликтов, что сложнее, чем использование Durable Entities.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется