Cosmos DB çoğaltma ile çok bölgeli web uygulaması

Front Door
App Service
İşlevler
Cosmos DB
Redis için Cache

Çözüm fikri

bizi görmek isterseniz, olası kullanım durumları, alternatif hizmetler, uygulama değerlendirmeleri veya fiyatlandırma kılavuzu gibi daha fazla bilgi için bu makaleyi genişlettikten sonra GitHub geri bildirimdebulunun!

Bu makalede açıklanan mimari, tek bölge dağıtımına kıyasla kullanılabilirliği artırır. İki etkin bölge ve iki etkin bölgeden biri başarısız olursa etkin hale gelebildiğiniz bir bekleme bölgesi sağlar. her bölgenin kendi Azure Cosmos DB veritabanı vardır. Azure Cosmos DB çoğaltma özellikleri, bir bölgedeki veritabanında yapılan tüm değişikliklerin diğer bölgelerdeki karşılık gelen veritabanlarına da yapıldığından emin olabilir. Azure Cosmos DB çoğaltma yaptığından, uygulama geliştiricilerinin uygulamayı büyük ölçüde basitleştirecek şekilde kendi kodunda yapması gerekmez.

veritabanları Azure Cosmos DB, bir Azure Depolama hesabında yapılandırılan diğer bölgelere çoğaltılmasının yanı sıra, her bölge içindeki veritabanlarının dört çoğaltmasını tutarak kullanılabilirliği artırır.

Azure Cosmos DB, uygulamalarınızın öngörülebilir yanıt sağlamasına ve gecikme sorunları nedeniyle hatalardan kaçınmanıza yardımcı olmak için 10 ms 'nin altında sınırsız aktarım hızı ve gecikme süresi destekler. Erişim yükünü azaltmak ve uygulama yanıtını geliştirmek için her bir veritabanı için bir önbellek vardır.

Not

Çoğaltma, beş tutarlılık düzeyi sağlar. Daha fazla bilgi için bkz. Azure Cosmos DB'deki tutarlılık düzeyleri.

Olası kullanım örnekleri

Mimari, her zaman kullanılabilir olması gereken çok büyük miktarlarda veri kullanan tüm uygulamalar için uygun olabilir. Örnekleri şunları içerir:

  • Müşteri harcama alışkanlıklarını ve alışveriş davranışını izleyin.
  • Hava durumu tahmin edin.
  • Akıllı Trafik Sistemleri sunun veya akıllı trafik sistemleri uygulayabilir ya da trafiği izlemek için akıllı teknoloji kullanın.
  • Üretim Nesnelerin İnterneti (IoT) verilerini analiz edin.
  • Ölçüm verilerini izlemek için akıllı ölçüm verilerini görüntüleyin veya akıllı teknolojiyi kullanın.

Mimari

Azure Cosmos DB kullanan dayanıklı bir sistemin mimarisi. Birden çok etkin bölgesi olabilir ve bir bekleme konumuna yük devredebilirler.

Bu mimarinin bir Visio dosyasını indirin.

  1. istemci Azure Active Directory (Azure AD) ile kimliğini doğrular ve Azure App Service barındırılan web uygulamalarına erişim izni verilir.
  2. Azure ön kapısı, bir güvenlik duvarı ve katman 7 yük dengeleyici, Kullanıcı trafiğini bölgesel bir kesinti olması durumunda farklı bir Azure bölgesine geçirir.
  3. Azure App Service Web sitelerini ve yeniden Web API 'Lerini barındırır. Tarayıcı istemcileri API 'Leri kullanan AJAX uygulamalarını çalıştırır.
  4. Web API 'Leri, arka plan görevlerini işlemek için işlev uygulamaları devredebilir. görevler, Azure kuyruğu Depolama kuyruklarda sıraya alınır.
  5. Azure Işlevleri tarafından barındırılan işlev uygulamaları, kuyruğa alınan iletiler tarafından tetiklenen arka plan görevlerini gerçekleştirir.
  6. Redsıs için Azure önbelleği, işlev uygulamalarına yönelik veritabanı verilerini önbelleğe alır. Bu, veritabanı etkinliğini yükler ve işlev uygulamalarını ve Web uygulamalarını hızlandırır.
  7. Azure Cosmos DB web uygulamaları tarafından kullanılan verileri barındırır ve bir veritabanındaki değişikliklerin tüm bölgelerde çoğaltılmasını sağlar.

Bileşenler

  • Azure Active Directory (Azure AD) , şirket içi bir dizinle eşitleyebileceğiniz çok kiracılı bir kimlik ve erişim yönetimi hizmetidir.
  • Azure DNS , DNS KAYıTLARıNA hızlı DNS sorguları ve hızlı güncelleştirmeler sağlayan uygulamalar sağlayan, DNS etki alanları için yüksek kullanılabilirliğe sahip bir barındırma hizmetidir. Azure DNS yönetimi, diğer Azure hizmetlerini yönetme gibidir ve aynı kimlik bilgilerini, API 'Leri, araçları ve faturalamayı kullanır.
  • Azure ön kapısı , hızlı yük devretmeyle güvenli bir içerik teslim ağı (CDN) ve yük dengeleyicidir. Kullanıcılar için yakın zamanda çalışır, uygulamaları, API 'Leri ve Web sitelerini siber tehditlerden korurken içerik teslimini hızlandırın.
  • Azure App Service , Web uygulamaları oluşturmaya, dağıtmaya ve ölçeklendirmeye yönelik tam olarak yönetilen bir hizmettir. .NET, .NET Core, Node.js, Java, Python veya PHP kullanarak uygulamalar oluşturabilirsiniz. uygulamalar, kapsayıcılar veya Windows veya Linux üzerinde çalışabilir. Ana bilgisayar geçişinde, ön uç ekranları veya Web arabirimi HTTP tabanlı REST API 'Leri olarak kodlanır. Bunlar ayırt edilebilir ve mikro hizmet tabanlı bir sistemi düzenlemek için durum bilgisiz olabilir. Web API 'Leri hakkında daha fazla bilgi için bkz. Rest, Web API tasarımı.
  • Azure işlevleri , uygulama altyapısı oluşturmaya gerek kalmadan işlevler olarak adlandırılan küçük kod parçalarını çalıştırmaya yönelik bir ortam sağlar. Toplu verileri işlemek, sistemleri bütünleştirmek, IoT ile çalışmak ve basit API 'Ler ve mikro hizmetler oluşturmak için kullanabilirsiniz. Mikro hizmetlerle, Azure hizmetlerine bağlanan ve her zaman güncel olan sunucular oluşturabilirsiniz.
  • Azure Depolama , veriler, uygulamalar ve iş yükleri için yüksek düzeyde ölçeklenebilir ve güvenli bir bulut hizmeti kümesidir. azure dosyaları, azure tablo Depolamave azure kuyruğu Depolamadahildir. Azure dosyaları, ana bilgisayar iş yüklerini geçirmek için genellikle etkili bir araçtır.
  • Azure kuyruğu Depolama , büyük iş yükleri için basit, ekonomik ve dayanıklı bir ileti kuyruğu sağlar.
  • Redsıs Için Azure önbelleği , tam olarak yönetilen bir bellek içi önbelleğe alma hizmetidir ve işlem kaynakları arasında veri ve durum paylaşımı için ileti aracısıdır. Bu, hem açık kaynaklı redin hem de redin Labs 'den yönetilen hizmet olarak ticari bir ürün içerir. Çevrimiçi işlem işleme uygulamalarının performansını ölçeklendirerek ve Redsıs için Azure önbelleği gibi bellek içi veri mağazalarından yararlanarak, daha fazla verimlilik sağlar.
  • Azure Cosmos DB , çözümlerin aktarım hızını ve depolamayı herhangi bir sayıda coğrafi bölgede ölçeklendirmesine olanak sağlayan, küresel olarak dağıtılmış, çok modelli bir veritabanıdır. Kapsamlı hizmet düzeyi sözleşmeleri (SLA 'Lar) aktarım hızı, gecikme süresi, kullanılabilirlik ve tutarlılık garantisi.

Alternatifler

  • Azure Traffic Manager , gelen DNS isteklerini, tercih ettiğiniz trafik yönlendirme yöntemlerine göre genel Azure bölgelerinde yönlendirir. Ayrıca otomatik yük devretme ve performans yönlendirmesi de sağlar.
  • Azure Content Delivery Network (CDN), hızlı yanıt için uç sunuculardaki statik içeriği önbelleğe alır ve dinamik içerik için yanıtı geliştirmek üzere ağ iyileştirmeleri kullanır. CDN, özellikle kullanıcı tabanı global olduğunda faydalıdır.
  • Azure Kubernetes hizmeti (AKS) Kapsayıcılı uygulamaları dağıtmak ve yönetmek için tam olarak yönetilen bir Kubernetes hizmetidir. Bu uygulamayı, bileşenleri isteğe bağlı olarak ölçeklendirilen bir mikro hizmet mimarisini uygulamak için kullanabilirsiniz.
  • Azure Container Instances , altyapıyı yönetmek zorunda kalmadan görevleri çalıştırmanın hızlı ve kolay bir yoludur. Geliştirme sırasında veya zamanlanmamış görevleri çalıştırmak için faydalıdır.
  • Azure Service Fabric , kapsayıcıları ve mikro hizmetleri ölçeklendirmeye ve düzenlemeye yönelik bir platformdur.
  • Azure Service Bus , basit karma tümleştirme için güvenilir bir bulut mesajlaşma hizmetidir. bu mimaride Queue Depolama yerine kullanılabilir. daha fazla bilgi için bkz. Depolama kuyrukları ve Service Bus kuyrukları-karşılaştırılan vebenzerlikler.

Dikkat edilmesi gerekenler

  • Azure Cosmos DB, herhangi bir sayıda Azure bölgesine tek tıklamayla veri çoğaltmaya sahip olursunuz.
  • veriler büyüdükçe Cosmos DB daha pahalı hale gelir. Maliyeti denetlemek için veri katmanlama stratejilerini uygulamanız gerekebilir.
  • başka bir depolama sisteminden veri geçiriyorsanız, verileri Azure Cosmos DB kopyalamak için yordamlar yazmanız gerekir. Veri geçişinin ilerlemesini izlemek için zaman damgası ve kopyalama bayraklarını kullandığınızdan emin olun.

Sonraki adımlar