Service Bus varlıklarını otomatik zorlama ile zincirleme

Service Bus otomatik uygulama özelliği, bir kuyruğu veya aboneliği aynı ad alanının parçası olan başka bir kuyruğa veya konuya zincirlemenizi sağlar. Otomatik zorlama etkinleştirildiğinde, Service Bus ilk kuyruğa veya aboneliğe (kaynak) yerleştirilen iletileri otomatik olarak kaldırır ve bunları ikinci kuyruğa veya konuya (hedef) yerleştirir. Hedef varlığa doğrudan ileti göndermek hala mümkündür.

Not

Service Bus'ın temel katmanı otomatik zorlama özelliğini desteklemez. Katmanlar arasındaki farklar için bkz . Service Bus fiyatlandırması.

Hedef varlık, kaynak varlık oluşturulurken mevcut olmalıdır. Hedef varlık yoksa, Service Bus kaynak varlığı oluşturması istendiğinde bir özel durum döndürür.

Senaryolar

Tek bir konunun ölçeğini genişletme

Tek bir konunun ölçeğini genişletmek için otomatik zorlamayı kullanabilirsiniz. Service Bus, belirli bir konudaki abonelik sayısını 2.000 ile sınırlar. İkinci düzey konular oluşturarak daha fazla abonelik barındırabilirsiniz. Abonelik sayısıyla ilgili Service Bus sınırlaması sizi bağlamasa bile, ikinci bir konu düzeyi eklemek konunuzun genel aktarım hızını iyileştirebilir.

İkinci düzey üç Sipariş Konusundan herhangi birine dallandırabilen bir SiparişLer Konusu aracılığıyla işlenen bir iletiyi gösteren otomatik zorlama senaryosunun diyagramı.

İleti gönderenlerini alıcılardan ayırma

İleti gönderenleri alıcılardan ayrıştırmak için otomatik zorlamayı da kullanabilirsiniz. Örneğin, sipariş işleme, envanter yönetimi ve müşteri ilişkileri yönetimi olmak üzere üç modülden oluşan bir Kurumsal Kaynak Planlama (ERP) sistemi düşünün. Bu modüllerin her biri, ilgili konuya göre sıralanmış iletiler oluşturur. Alice ve Bob, müşterileriyle ilgili tüm iletilerle ilgilenen satış temsilcileridir. Bu iletileri almak için Alice ve Bob, erp konularının her birinde tüm iletileri otomatik olarak kuyruklarına yönlendiren kişisel bir kuyruk ve abonelik oluşturur.

İki ayrı kuyruğa karşılık gelen üç konu başlığı üzerinden ileti gönderen üç işleme modülünü gösteren otomatik zorlama senaryosunun diyagramı.

Alice tatile çıkarsa ERP konusu yerine kişisel kuyruğu dolar. Bu senaryoda satış temsilcisi herhangi bir ileti almadığından ERP konularının hiçbiri kotaya ulaşmadı.

Not

Otomatik zorlama ayarlandığında, kaynak varlık üzerindeki değeri AutoDeleteOnIdle otomatik olarak veri türünün en yüksek değerine ayarlanır.

  • Kaynak tarafında, otomatik zorlama bir alma işlemi işlevi görür, bu nedenle otomatik zorlama etkin olan kaynak hiçbir zaman gerçekten "boşta" olmaz ve bu nedenle otomatik olarak silinmez.
  • Otomatik zorlama, hedef varlıkta herhangi bir değişiklik yapmaz. Hedef varlıkta etkinleştirilirse AutoDeleteOnIdle , belirtilen boşta kalma aralığı için etkin değilse varlık otomatik olarak silinir. Hedef varlık silinirse, hedef varlık iletileri iletmeye çalışırken sürekli olarak özel durumlar göreceğinden, hedef varlıkta etkinleştirmenizi AutoDeleteOnIdle öneririz.

Otomatik zorlama ile ilgili dikkat edilmesi gerekenler

  • Service Bus, otomatik zorlama etkin bir kaynak varlıkta ileti alıcısı oluşturmaya izin vermez.
  • Hedef varlık çok fazla ileti biriktirir ve kotayı aşarsa veya hedef varlık devre dışı bırakılırsa, kaynak varlık, hedefte yer olana kadar (veya varlık yeniden etkinleştirilene) kadar iletileri teslim edilemeyen ileti kuyruğuna ekler. Bu iletiler teslim edilemeyen ileti kuyruğunda yaşamaya devam eder, bu nedenle bunları teslim edilemeyen ileti kuyruğundan açıkça almanız ve işlemeniz gerekir.
  • Birçok aboneliği olan bileşik bir konu başlığı elde etmek için tek tek konuları birbirine bağlarken, birinci düzey konu başlığında orta sayıda abonelik, ikinci düzey konularda ise çok sayıda aboneliğiniz olması önerilir. Örneğin, 20 aboneliği olan ve her biri 200 aboneliği olan ikinci düzey bir konuya zincirlenmiş birinci düzey bir konu başlığı, her biri 20 aboneliği olan ikinci düzey bir konuya zincirlenmiş 200 aboneliği olan birinci düzey bir konu başlığından daha yüksek aktarım hızı sağlar.
  • Service Bus, iletilen her ileti için bir işlem faturalar. Örneğin, 20 aboneliği olan ve iletileri başka bir kuyruğa veya konuya otomatik olarak gönderecek şekilde yapılandırılmış bir konuya ileti göndermek, tüm birinci düzey abonelikler iletinin bir kopyasını alırsa 21 işlem olarak faturalandırılır.
  • Başka bir kuyruğa veya konuya zincirlenmiş bir abonelik oluşturmak için, aboneliği oluşturanın hem kaynak hem de hedef varlık üzerinde Yönet izinlerine sahip olması gerekir. Kaynak konuya ileti göndermek için yalnızca kaynak konuda Gönderme izinleri gerekir.
  • Dört atlamayı aşan bir zincir oluşturmayın. Dört atlamayı aşan iletiler geçersiz harfe dönüştürülür. İleti bir kuyruktan veya konu başlığından başka bir kuyruğa veya konuya otomatik olarak uygulandığında iletinin atlama sayısı artırılır. İletinin atlama sayısı, iletinin aktarım kuyruğu üzerinden gönderildiği senaryo aracılığıyla gönderme senaryosunda da artırılabilir.
  • Oturum etkin kuyruklar veya abonelikler için otomatik zorlama desteklenmez.
  • Kaynak kuyruk, iletileri hedef varlığa aldığı sırayla iletmeye çalışır, ancak hedef, sıralamayı desteklemeyen bir konu olabilir. Kaynak veya hedef varlık bölümlenmiş bir varlıksa sipariş garanti edilemez.

Sonraki adımlar

Otomatik iletmeyi farklı yollarla (Azure portalı, PowerShell, CLI, Azure Kaynak Yönetimi şablonu vb.) etkinleştirmeyi veya devre dışı bırakmayı öğrenmek için bkz . Kuyruklar ve abonelikler için otomatik iletmeyi etkinleştirme.