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
Ö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.
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:
- Kanada ve ABD'deki kullanıcıların birbirleriyle etkileşim kurabilmesi için bölgeler arası iletişim mekanizmasının uygulanması gerekir.
- Geliştirme ekibinin her birinde ayrı etki alanı ve bağlantı dizesi olan iki ayrı Web PubSub kaynağını yönetmesi gerekir.
- 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.
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.
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.
Oluşturma işleminden sonra, çoğaltma adına tıklayarak çoğaltmanızı portalda görüntüleyebilir/düzenleyebilirsiniz.
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 settings
vardı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:
- Web PubSub kaynağınıza gidin ve Çoğaltmalar dikey penceresini seçin. Silmek istediğiniz çoğaltmaya tıklayın.
- Ç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
- İ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. - Bu CNAME ile istemci, bölgesel örneğe (çoğaltma) bir websocket bağlantısı kurar.
- İki çoğaltma verileri birbiriyle eşitler. Bir çoğaltmaya gönderilen iletiler gerekirse diğer çoğaltmalara aktarılır.
- 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çindeeastus
bulunan çoğaltmaya yönlendirilir. - Benzer şekilde, yakın
westus
istemciler içindekiwestus
ç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 westus
bağlanmak için yeniden yönlendirilir.
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.
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.
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:
Ç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:
- 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.
- 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 .
- Hedef Ayarlarını Günlüğe Kaydet. Çoğaltmalarda yapılandırılmamışsa, yalnızca birincil kaynaktan günlükler aktarılır.
- 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.