Yüksek eşzamanlılığa sahip, öğe başına sayım tutması gereken ve aynı öğe için güncellemelerin serileştirilmesini garanti eden bir stok envanter sistemi kuruyorsunuz. Birden çok istemci envanteri artıracak ve azaltacak ve ara sıra mevcut sayımı okuyacaktır. Durable Functions kullanarak hangi iki eylemi gerçekleştirmelisiniz?
Bir cevap seçin
Cevabınızı kontrol etmek için bir seçeneğe dokunun.
Doğru cevap: AddStock ve RemoveStock gibi işlemleri tanımlayan ve durumu varlık bağlamında tutan bir Durable Entity işlevi (örneğin, Inventory) oluşturun., HTTP ile tetiklenen bir işlevden bir EntityId ("Inventory", itemId) oluşturun ve güncellemeleri göndermek için IDurableEntityClient.SignalEntityAsync'i çağırın; mevcut stoğu sorgulamak için ReadEntityStateAsync'i kullanın..
Neden bu cevap
Durable Entities, yüksek eşzamanlılığa sahip, durum tabanlı uygulamalar için tasarlanmıştır ve öğe başına serileştirilmiş erişimi garanti eder. İlk doğru seçenek, AddStock ve RemoveStock gibi işlemleri tanımlayan bir Durable Entity işlevi (örneğin, Inventory) oluşturarak her bir envanter öğesinin durumunu kendi bağlamında yönetmeyi açıklar. Bu, her öğe için güncellemelerin sırayla işlenmesini sağlar. İkinci doğru seçenek, bir HTTP tetikleyicili fonksiyondan EntityId oluşturarak ve SignalEntityAsync kullanarak varlığa mesaj göndermeyi, ReadEntityStateAsync ile de mevcut durumu sorgulamayı açıklar. Bu yöntem, varlıklarla etkileşim kurmanın ve serileştirilmiş güncellemeler sağlamanın standart yoludur. StartNewAsync her güncelleme için yeni bir düzenleyici başlatır, bu da serileştirmeyi garanti etmez ve gereksiz kaynak tüketimine yol açar. C kilitleri bellek içi olduğu için ölçeklenebilir değildir ve dağıtık sistemlerde çalışmaz. Table Storage'da ETag'lerle iyimser eşzamanlılık, yüksek eşzamanlılıkta çakışmaları ele almak için daha karmaşık bir mantık gerektirir ve Durable Entities'in sağladığı yerleşik serileştirme garantisini sunmaz.
Sonsuz cevap arayışı olmadan sınavınızı geçin
Bu sınav için her doğrulanmış soruyu ve açıklamayı tek bir yerde edinin ve saatlerce süren hazırlıktan tasarruf edin. 1.000'den fazla sertifika · 20'den fazla dil · ücretsiz başlayın.
Sınavınızı daha hızlı geçin → Kart gerekmez