Coğrafi bölge düzeni

Coğrafi Bölge düzeni, arka uç hizmetleri koleksiyonunu bir dizi gegraphicalnodekümesine dağıtmayı içerir ve her biri herhangi bir bölgedeki herhangi bir istemci için herhangi bir istekte bulunuyor olabilir. Bu düzen, isteklerin etkin-etkin bir stilde dağıtılmasına, gecikme süresinin artırılmasına ve istek işlemenin dünya çapında dağıtılmasıyla kullanılabilirliği artırmaya olanak sağlar.

Coğrafi bölge haritası

Bağlam ve sorun

Birçok büyük ölçekli hizmette coğrafi kullanılabilirlik ve ölçekle ilgili belirli zorluklar vardır. Klasik tasarımlar, verileri genellikle bu veriler için işlem katmanı olarak görev SQL ve büyüme için ölçek artışına bağlı olarak uzak bir SQL sunucusunda depolayarak verileri işlem katmanına getirir.

Klasik yaklaşım bir dizi zorluka neden olabilir:

  • Dünyanın diğer tarafından gelen kullanıcıların barındırma uç noktasına bağlanması için ağ gecikme süresi sorunları
  • Tek bir bölgedeki hizmetleri bunaltacak talep serileri için trafik yönetimi
  • 7/24 hizmet için uygulama altyapısının kopyalarını birden çok bölgeye dağıtmanın maliyetli karmaşıklığı

Modern bulut altyapısı, ön uç hizmetlerinin coğrafi yük dengelemesini sağlarken arka uç hizmetlerinin coğrafi çoğaltmasına olanak sağlayacak şekilde gelişmiştir. Kullanılabilirlik ve performans için verileri kullanıcıya yakın bir şekilde elde etmek iyi bir fikirdir. Veriler çok dalgalı bir kullanıcı tabanına coğrafi olarak dağıtıldığında, coğrafi olarak dağıtılmış veri deposu da verileri işleten işlem kaynaklarıyla birlikte yer aldırılmalı. Coğrafi bölge düzeni, işlem verilerini getirir.

Çözüm

Hizmeti dünyanın her yerine yayılmış olan ve her biri coğrafi bölge olarak adlandırılan bir dizi uydu dağıtımına dağıtın. Coğrafi bölge düzeni, azure'ın temel özelliklerinden faydalanarak trafiği yakındaki bir coğrafi bölgeye en kısa yoldan yönlendirebilir ve bu da gecikme süresini ve performansı artırır. Her coğrafi bölge genel yük dengeleyicinin arkasındadır ve coğrafi olarak çapraz veri tutarlılığı sağlamak amacıyla veri düzlemini barındırmak için Azure Cosmos DB gibi coğrafi olarak çoğaltılmış bir okuma-yazma hizmeti kullanır. Veri çoğaltma hizmetleri, veri depolarının coğrafi konumlar arasında aynı olmasını sağlar, bu nedenle tüm coğrafi konumlardan tüm isteklere hizmet edilebilir.

Dağıtım damgası ile coğrafi bölge arasındaki temel fark, coğrafi bölgelerin hiçbir zaman yalıtlı olarak varolmamalarıdır. Üretim platformunda her zaman birden fazla coğrafi bölge olması gerekir.

Coğrafi bölgeye genel bakış

Coğrafi bölgeler aşağıdaki özelliklere sahiptir:

  • Genellikle bir şablonda tanımlanan farklı kaynak türlerinden oluşan bir koleksiyondan oluşur.
  • Coğrafi ayak izinin dışında bağımlılık yoktur ve kendi içindedir. Coğrafi bölge, başka birinin çalışmasına bağımlı değildir ve bir bölgeyi devrederse diğerleri çalışmaya devam eder.
  • Uç ağ ve çoğaltma arka planı üzerinden gevşek bir şekilde bir şekilde bir bağlantısı vardır. Örneğin, azure Cosmos DB çoğaltma Azure Traffic Manager Azure Front Door için bölgeyi veya bölgeyi kullanabilirsiniz. Coğrafi düğümler, çoğaltma arka planı paylaştığı için kümelerle aynı değildir, bu nedenle çekirdek sorunları platform tarafından ele alır.

Coğrafi bölge düzeni, aynı makinede birlikte yer alan verileri işlemeye ve sonuçları makineler arasında birleştirmeye MapReduce ticari donanım kullanan büyük veri mimarilerde gerçekleşir. Bir diğer kullanım da neredeyse uç işlemdir ve bu işlem, yanıt süresini azaltmak için ağın akıllı kenarına daha yakın bir işlemdir.

Hizmetler bu düzeni onlarca veya yüzlerce bölgede kullanabilir. Ayrıca, bölgesel bir kesintinin bir veya daha fazla coğrafi bölgeyi çevrimdışı duruma getirmesi durumlarını tüm coğrafi bölgelerle birlikte ele alsa da, eklenen her coğrafi bölgeyle birlikte çözümün tamamının karşılığı artar.

Kullanılabilirlik alanları veya eşleştirilmiş bölgeler gibi yerel kullanılabilirlik tekniklerini, genel kullanılabilirlik için coğrafi bölge düzeniyle artırmak da mümkündür. Bu, karmaşıklığı artırır, ancak mimarinizin yalnızca eşleştirilmiş bir bölgeye çoğaltılabilir blob depolama gibi bir depolama altyapısı tarafından destansı varsa yararlıdır. Konumla ilgili düzenleme veya gecikme kısıtlamalarına göz atarak bölge içi, bölgesel veya bölgesel ayak izine coğrafi bölge bölgelerini dağıtabilirsiniz.

Sorunlar ve dikkat edilmesi gerekenler

Bu düzeni uygulamak için aşağıdaki teknikleri ve teknolojileri kullanın:

  • Modern DevOps çok sayıda bölgede veya örnekte aynı coğrafi bölgeyi üretecek ve hızla dağıtacak uygulamalar ve araçlar sunar.
  • Coğrafi bölge içindeki işlem ve veritabanı aktarım hızı örneklerinin ölçeğini artırmak için otomatik ölçeklendirme. Her coğrafi bölge ayrı ayrı ölçeğini, ortak arka plan kısıtlamaları içinde ölçeğini genişler.
  • Dinamik içerik hızlandırma, TCP Azure Front Door Anycast yönlendirme gibi ön uç hizmeti.
  • Veri tutarlılığını kontrol etmek için Azure Cosmos DB gibi çoğaltan bir veri deposu.
  • Mümkün olduğunda sunucusuz teknolojiler, özellikle de yük dünyanın her yerinde sık yeniden dengelenene kadar her zaman açık dağıtım maliyetini azaltmak için kullanılır. Bu strateji, çok az ek yatırımla birçok coğrafi bölgenin dağıtılmasına olanak sağlar. Sunucusuz ve tüketim tabanlı faturalama teknolojileri, yinelenen coğrafi olarak dağıtılmış dağıtımlardan israfı ve maliyeti azaltır.
  • API Management tasarım desenini uygulamak için gerekli değildir, ancak daha sağlam bir API katmanı sağlamak için bölgenin Azure İşlev Uygulaması'nın önüne geçen her bölgeye eklenebilir ve bu da hız sınırlama gibi ek işlevlerin uygulanmasını sağlar.

Bu düzenin nasıl uygulanacağına karar verirken aşağıdaki noktaları göz önünde bulundurun:

  • Verileri her bölgede yerel olarak işlemeyi veya toplamaları tek bir coğrafi bölgeye dağıtmayı ve sonucu dünya genelinde çoğaltmayı seçin. Azure Cosmos DB değişiklik akışı işlemcisi, kira kapsayıcısı kavramını kullanarak bu ayrıntılı denetimi ve ilgili veritabanı bağlaması içinde leasecollectionprefixAzure İşlevleri sunar. Her yaklaşımın farklı avantajları ve dezavantajları vardır.
  • Coğrafi bölge, Azure Cosmos DB değişiklik akışı ve SignalR gibi gerçek zamanlı bir iletişim platformu kullanılarak birlikte kullanılabilir. Coğrafi bölge, uzak kullanıcının nerede olduğunu bilmeden veya bu bölgeye bakmadan diğer coğrafi bölgelerle bir örgü düzeninde iletişim kurabilir.
  • Bu tasarım deseni her şeyi örtülü olarak çözerek son derece yüksek oranda dağıtılmış ve dağıtılmış bir mimari sağlar. Farklı örneklerde zaman uyumsuz olarak yürütülse de aynı isteğin farklı bileşenlerini nasıl izleyebilirsiniz? Düzgün bir izleme stratejisi çok önemlidir. Hem Azure Front Door hem de Cosmos DB Log Analytics ile kolayca tümleştirilene Azure İşlevleri, mimarinin her bileşeninde sağlam bir izleme sistemi sağlamak için Application Analizler ile birlikte dağıtılabilir.
  • Dağıtılmış dağıtımların, özellik güvenlik önlemleri gerektiren çok sayıda gizli dizi ve giriş noktası vardır. Key Vault gizli bilgi yönetimi için güvenli bir katman sağlar ve API mimarisi içindeki her katmanın düzgün bir şekilde güvenlik altına alınarak API'nin tek giriş noktasının api gibi ön uç hizmeti olması Azure Front Door. Cosmos DB' nin Azure İşlev Uygulamalarına yönelik trafiği kısıtlaması ve İşlev uygulamalarının IP kısıtlaması Azure Front Door uygulamaları Azure Active Directory uygulamaları kullanarak trafiği kısıtlaması gerekir.
  • Dağıtılan coğrafi bölge sayısı ve her bir coğrafi bölgeye API teknolojisine uygulanan App Service Planları'nın performansı önemli ölçüde etkilenir. Ek coğrafi bölgelerin veya premium katmanlara yönelik taşımanın dağıtımı, ek bellek ve işlem için daha fazla maliyetle gelir, ancak işlem başına bunu yapmaz. Dağıtıldıktan sonra API mimarisinin yük testini düşünün ve fiyatlandırma katmanını artırarak coğrafi bölge sayısıyla karşıtlığınızı artırarak en uygun maliyetli modelin ihtiyaçlarınıza uygun şekilde kullanılmaktadır.
  • Verileriniz için kullanılabilirlik gereksinimlerini belirleme. Cosmos DB'de çok bölgeli yazma, kullanılabilirlik alanları ve daha fazlasını etkinleştirmek için isteğe bağlı bayraklar vardır. Bunlar, Cosmos DB örneğinin kullanılabilirliğini artırarak daha yeni bir veri katmanı oluşturur ancak ek maliyetler de sunar.
  • Azure, trafiğin dağıtımı için farklı işlevler sağlayan çeşitli yük dengecileri sunar. API'nizin ön ucunda doğru seçeneğin seçimine yardımcı olmak için karar ağacını kullanın.

Bu düzenin kullanılacağı durumlar

Bu düzeni kullanarak:

  • Kullanıcıların geniş bir alana dağıtılmış olduğu yüksek ölçekli bir platform uygulamak için.
  • Coğrafi bölge desenini temel alan hizmetler aynı anda birden çok hizmet bölgesi kaybı yaşanması nedeniyle aşırı kullanılabilirlik ve dayanma özellikleri gerektiren tüm hizmetler için.

Bu düzen için uygun değildir

  • Tüm coğrafi bölgelerin veri depolama için eşit olamayları için kısıtlamaları olan mimariler. Örneğin, veri yer durumu gereksinimleri, belirli bir oturum için geçici durumu sürdürmesi gereken bir uygulama veya tek bir bölgeye yönelik yoğun istek ağırlığı olabilir. Bu durumda, dağıtım damgaları düzeninde açıklanan trafik yönlendirme bileşeni gibi bir kullanıcının verilerini nerede olduğunu fark eder genel yönlendirme düzlemi ile birlikte dağıtım damgalarını kullanmayı göz önünde bulundurabilirsiniz.
  • Coğrafi dağıtımın gerekli olduğu durumlar. Bunun yerine, kümeleme için kullanılabilirlik alanları ve eşleştirilmiş bölgeleri göz önünde bulundurabilirsiniz.
  • Eski bir platformun yeniden donanıma uygun olması gereken durumlar. Bu düzen yalnızca bulutta yerel geliştirme için çalışır ve yeniden yapılanma zor olabilir.
  • Coğrafi yedeklilik ve coğrafi dağıtım gerekli veya avantajlı olmayan basit mimariler ve gereksinimler.

Örnekler

  • Windows Active Directory bu desenin erken bir çeşidini uygulamaya almaktadır. Çoklu birincil çoğaltma, teoride tüm güncelleştirmelerin ve isteklerin tüm hizmet edilebilir düğümlerden karşılanılabilir olduğu anlamına gelir, ancak Esnek Tek Ana İşlem (FSMO) rolleri tüm coğrafi düğümlerin eşit olmadığını gösterir.
  • GitHub'daki coğrafi düzen hızlandırıcısı, bu tasarım desenini uygulamada sergilemektedir ve geliştiricilerin gerçek dünya API'leriyle uygulamasına yardımcı olmak için tasarlanmıştır.
  • Cosmos DB kullanan genel olarak dağıtılmış uygulamalar makalesi, yük dengeleme ve API kodunu barındırmak için Traffic Manager kullanan coğrafi Azure App Service dağıtımı inceler.
  • GitHub'daki bir soru-cevap örnek uygulaması, bu tasarım desenini uygulamada sergilemektedir.
  • SAP OData API'leriüzerinden Coğrafi Önbellek: SAP Perakende uygulamaları için genel olarak hızlandırılmış bir veri önbelleği olarak Cosmos tarafından Cosmos örnek OData API'si Coğrafi Bölge.