Azure Web PubSub'da coğrafi çoğaltma

Görev açısından kritik uygulamaların genellikle sağlam bir yük devretme sistemine sahip olması ve kullanıcılara bulundukları yere daha yakın hizmet vermeleri gerekir. Coğrafi çoğaltma özelliği yayımlanmadan önce geliştiricilerin birden çok Web PubSub kaynağı dağıtması ve kaynaklar arasında iletişimi düzenlemek için özel kod yazması gerekiyordu. Artık Azure portalı aracılığıyla hızlı yapılandırma ile bu özelliği kolayca etkinleştirebilirsiniz.

Coğrafi çoğaltma kullanmanın avantajları

  • Bölgesel kesintiye karşı daha dayanıklı: Bölgesel bir kesinti olursa istemciler otomatik olarak iyi durumdaki bir çoğaltmaya yönlendirilir.
  • Bölgeler arası iletişim: Arka planda birden fazla kaynak olsa bile geliştiriciler her zamanki gibi coğrafi çoğaltma özellikli bir kaynak kullanır. Çoğaltmalar arasındaki iletişim hizmet tarafından işlenir.
  • Gelişmiş ağ hızı: Coğrafi olarak dağınık istemciler en yakın çoğaltmaya bağlanır. Bu çoğaltmalar Azure genel ağ omurgası üzerinden iletişim kurarak hızlı ve kararlı ağ iletişimi sağlar.
  • Yönetim kolaylığı. Tüm çoğaltmalar birincil Web PubSub kaynağının yapılandırmasını paylaşır.

Önkoşullar

  • Premium katmanda bir Web PubSub kaynağı.

Örnek kullanım örneği

Contoso, bir sosyal medya şirketi

Contoso, müşteri tabanı ABD ve Kanada'ya yayılmış bir sosyal medya şirketidir. Contoso, kullanıcılarına birbirleriyle bağlantı kurabilmeleri için bir mobil uygulama ve web uygulaması sağlar. Contoso uygulaması Orta ABD'de dağıtılır. Contoso mimarisinin bir parçası olarak Web PubSub, istemci uygulamaları ve uygulama sunucusu arasında kalıcı WebSocket bağlantıları kurmak için kullanılır. Contoso, Web PubSub'a Yönelik WebSocket bağlantılarını yönetme yükünü boşaltabilmesini sever, ancak Kanada'daki kullanıcıların daha yüksek gecikme süresi yaşadığına ilişkin raporları okumayı sevmez. Ayrıca Contoso'nun geliştirme ekibi, kullanıcıların uygulamaya kesinti olmadan erişebilmesi için uygulamayı bölgesel kesintilere karşı devreye almak istiyor.

İki ülkeden gelen trafiği işlemek için bir Azure WebPubSub örneği kullanma diyagramı.

Contoso, Kanada'daki kullanıcılarına coğrafi olarak daha yakın olan, Orta Kanada'da başka bir Web PubSub kaynağı ayarlayabilir. Ancak, birden çok Web PubSub kaynağını yönetmek bazı zorluklara neden olur:

  1. Kanada ve ABD'deki kullanıcıların birbirleriyle etkileşim kurabilmesi için bölgeler arası iletişim mekanizmasının uygulanması gerekir.
  2. Geliştirme ekibinin her birinde ayrı etki alanı ve bağlantı dizesi olan iki ayrı Web PubSub kaynağını yönetmesi gerekir.
  3. Bölgesel bir kesinti yaşanırsa trafiğin kullanılabilir bir kaynağa yönlendirilmesi gerekir.

Yukarıdakilerin tümü mühendislik kaynaklarını ürün yeniliğe odaklanmaktan uzaklaştırır.

İki ülkeden gelen trafiği işlemek için iki Azure Web PubSub örneği kullanma diyagramı.

Coğrafi çoğaltma özelliğinden yararlanma

Coğrafi çoğaltma özelliği sayesinde Contoso artık Orta Kanada'da bir çoğaltma oluşturarak yukarıda bahsedilen zorlukları etkili bir şekilde aşabilir. Geliştirici ekibi, herhangi bir kod değişikliği yapmasına gerek olmadığını öğrenmekten mutluluk duyar. Azure portalında birkaç düğmeye tıklamak kadar kolaydır. Geliştirici ekibi, Contoso'nın Avrupa pazarına girmeyi planladığı için Avrupa'da başka bir çoğaltma eklemesi gerektiğini paydaşlarla paylaşmakta da mutlu.

İki ülkeden gelen trafiği işlemek için çoğaltma ile tek bir Azure Web PubSub örneği kullanma diyagramı.

Web PubSub kaynağında coğrafi çoğaltmayı etkinleştirme

Azure bölgesinde çoğaltma oluşturmak için Web PubSub kaynağınıza gidin ve Azure portalında Çoğaltmalar dikey penceresini bulun ve çoğaltma oluşturmak için Ekle'ye tıklayın.

Portalda Azure Web PubSub için çoğaltma oluşturma işleminin ekran görüntüsü.

Oluşturma işleminden sonra, çoğaltma adına tıklayarak çoğaltmanızı portalda görüntüleyebilir/düzenleyebilirsiniz.

Azure Web PubSub çoğaltma kaynağının genel bakış dikey penceresinin ekran görüntüsü.

Not

  • Çoğaltma sayısı şu anda birincil kaynak başına en fazla 8 ile sınırlıdır.

Fiyatlandırma ve kaynak birimi

Her çoğaltmanın kendi unit ve autoscale settingsvardır.

Çoğaltma, Azure Web PubSub Hizmetinin Premium katmanının bir özelliğidir. Her çoğaltma kendi birimine ve giden trafiğe göre ayrı olarak faturalandırılır. Ücretsiz ileti kotası da ayrı olarak hesaplanır.

Önceki örnekte Contoso, Orta Kanada'da bir çoğaltma eklemektedir. Contoso, Premium Fiyat'taki birimine ve iletisine göre Orta Kanada'daki çoğaltma için ödeme yapar.

Bölgeler arası giden trafik için çıkış ücretleri olacaktır. Bir ileti çoğaltmalar arasında aktarılır ve aktarımdan sonra bir istemciye veya sunucuya başarıyla gönderilirse, giden ileti olarak faturalandırılır.

Bir çoğaltmayı sil

Web PubSub kaynağı için bir çoğaltma oluşturduktan sonra, artık gerekli değilse istediğiniz zaman silebilirsiniz.

Azure portalında bir çoğaltmayı silmek için:

  1. Web PubSub kaynağınıza gidin ve Çoğaltmalar dikey penceresini seçin. Silmek istediğiniz çoğaltmaya tıklayın.
  2. Çoğaltmaya genel bakış dikey penceresinde Sil düğmesine tıklayın.

Azure CLI kullanarak bir çoğaltmayı silmek için:

 az webpubsub replica delete --replica-name MyReplica --name MyWebPubSub -g MyResourceGroup

Coğrafi çoğaltma özelliğinin nasıl çalıştığını anlama

Azure Web PubSub çoğaltmasının kemerinin diyagramı.

  1. İstemci, Web PubSub hizmetinin Tam Etki Alanı Adını (FQDN) contoso.webpubsub.azure.com çözümler. Bu FQDN, en yakın bölgesel Web PubSub örneğinin Kurallı Adını (CNAME) döndüren bir Traffic Manager'a işaret eder.
  2. Bu CNAME ile istemci, bölgesel örneğe (çoğaltma) bir websocket bağlantısı kurar.
  3. İki çoğaltma verileri birbiriyle eşitler. Bir çoğaltmaya gönderilen iletiler gerekirse diğer çoğaltmalara aktarılır.
  4. Bir çoğaltmanın Traffic Manager (TM) tarafından gerçekleştirilen sistem durumu denetiminde başarısız olması durumunda, TM başarısız örneğin uç noktasını etki alanı çözümleme sonuçlarından dışlar. Ayrıntılar için aşağıdaki Dayanıklılık ve Olağanüstü Durum Kurtarma bölümüne bakın

Not

  • Veri düzleminde birincil Azure Web PubSub kaynağı, çoğaltmalarıyla aynı şekilde çalışır

Dayanıklılık ve olağanüstü durum kurtarma

Azure Web PubSub Service, çoğaltmalarına yönelik sistem durumu denetimleri ve DNS çözümlemesi için bir trafik yöneticisi kullanır. Normal koşullarda, tüm çoğaltmalar düzgün çalıştığında istemciler en yakın çoğaltmaya yönlendirilir. Örneğin:

  • yakın eastus istemciler içinde eastusbulunan çoğaltmaya yönlendirilir.
  • Benzer şekilde, yakın westus istemciler içindeki westusçoğaltmaya yönlendirilir.

Eastus'ta bölgesel bir kesinti olması durumunda (aşağıda gösterilmiştir), trafik yöneticisi bu bölge için sistem durumu denetimi hatasını algılar. Ardından, bu hatalı çoğaltmanın DNS'i trafik yöneticisinin DNS çözümleme sonuçlarından dışlanır. 90 saniye olarak ayarlanmış bir DNS Yaşam Süresi (TTL) süresinden sonra içindeki istemciler eastus içindeki çoğaltmaya westusbağlanmak için yeniden yönlendirilir.

Azure Web PubSub çoğaltma yük devretme diyagramı.

içindeki eastus sorun çözüldükten ve bölge yeniden çevrimiçi olduktan sonra sistem durumu denetimi başarılı olur. Bu durumda içindeki eastus istemciler, bir kez daha kendi bölgelerindeki çoğaltmaya yönlendirilir. Bağlı istemciler mevcut bağlantılar kapatılana kadar etkilenmeyeceği için bu geçiş sorunsuz olur.

Azure Web PubSub çoğaltma yük devretme kurtarma diyagramı.

Bu yük devretme ve kurtarma işlemi otomatiktir ve el ile müdahale gerektirmez.

Çoğaltma uç noktasını devre dışı bırakma veya etkinleştirme

Bir çoğaltmayı ayarlarken, uç noktasını etkinleştirme veya devre dışı bırakma seçeneğiniz vardır. Devre dışı bırakılırsa, birincil FQDN'nin DNS çözümlemesi çoğaltmayı içermez ve bu nedenle trafik buna yönlendirilmeyecektir.

Azure Web PubSub çoğaltma uç noktası ayarının diyagramı.

Uç nokta oluşturulduktan sonra devre dışı bırakma özelliğini de etkinleştirebilirsiniz. Birincil kaynağın çoğaltmaları dikey penceresinde, çoğaltmanın sağ tarafındaki üç nokta düğmesine tıklayın ve Uç Noktayı Etkinleştir veya Uç Noktayı Devre Dışı Bırak'ı seçin:

Azure Web PubSub çoğaltma uç noktası değişikliği diyagramı.

Çoğaltmayı silmeden önce uç noktasını devre dışı bırakmayı göz önünde bulundurun. Zaman içinde mevcut bağlantıların bağlantısı kesilir. Yeni bağlantı gelmediği için çoğaltma son olarak boşta olur. Bu, sorunsuz bir silme işlemi sağlar.

Bu özellik bölgesel sorunları gidermek için de yararlıdır.

Not

  • DNS önbelleği nedeniyle, DNS güncelleştirmesinin etkili olması birkaç dakika sürebilir.
  • Mevcut bağlantılar, bağlantı kesilene kadar etkilenmez.

Coğrafi çoğaltma özelliğini etkinleştirdikten sonra performans üzerindeki etki

Çoğaltmalar etkinleştirildikten sonra istemciler coğrafi konumlarına göre doğal olarak dağıtılır. Web PubSub, bu çoğaltmalar arasında verileri eşitleme sorumluluğunu üstlenirken, Sunucu Yükü üzerindeki ilişkili ek yükün en yaygın kullanım örnekleri için en düşük düzeyde olduğunu bilmekten memnuniyet duyacaksınız.

Özellikle, uygulamanız genellikle daha büyük gruplara (boyut >10) veya tek bir bağlantıya yayınlanıyorsa eşitlemenin performans etkisi neredeyse fark edilemez. Küçük gruplara (boyut < 10) ileti iletiniz varsa, biraz daha fazla eşitleme yükü fark edebilirsiniz.

Etkili yük devretme yönetimi sağlamak için her çoğaltmanın birim boyutunu tüm trafiği işleyecek şekilde ayarlamanız önerilir. Alternatif olarak, bunu yönetmek için otomatik ölçeklendirmeyi etkinleştirebilirsiniz.

Daha fazla performans değerlendirmesi için Bkz . Performans.

Devralınmayan ve Devralınan Yapılandırmalar

Çoğaltmalar çoğu yapılandırmayı birincil kaynaktan devralır; ancak, bazı ayarların doğrudan çoğaltmalarda yapılandırılması gerekir. Bu yapılandırmaların listesi aşağıdadır:

  1. SKU: Her çoğaltmanın kendi SKU adı ve birim boyutu vardır. Çoğaltmalar için otomatik ölçeklendirme kuralları kendi ölçümlerine göre ayrı ayrı yapılandırılmalıdır.
  2. Paylaşılan özel uç noktalar: Paylaşılan özel uç noktalar çoğaltmalara otomatik olarak çoğaltılırken, hedef özel bağlantı kaynaklarında ayrı onaylar gerekir. Paylaşılan özel uç noktaları eklemek veya kaldırmak için bunları birincil kaynakta yönetin. Paylaşılan özel uç noktası onaylanana kadar çoğaltmayı etkinleştirmeyin .
  3. Hedef Ayarlarını Günlüğe Kaydet. Çoğaltmalarda yapılandırılmamışsa, yalnızca birincil kaynaktan günlükler aktarılır.
  4. Uyarılar.

Diğer tüm yapılandırmalar birincil kaynaktan devralınır. Örneğin, erişim anahtarları, kimlik, uygulama güvenlik duvarı, özel etki alanları, özel uç noktalar ve erişim denetimi.