Microsoft'un küresel veri merkezlerinde yerleşik olarak yer alan yüksek kullanılabilirlik ve düşük gecikme süresi özellikleriyle dünyanın her yanında kullanıcılara erişimi garanti edin.
Mimari
Bu mimarinin SVG sürümünü indirin.
Veri akışı
- Kullanıcı, uygulamaya ayrılmış istemci üzerinden erişer.
- Azure Traffic Manager, kullanıcının bağlantısını tek veya iç içe yönlendirme profillerine göre uygulamaya erişmek için en iyi konuma yönlendirecek.
- Uygulamanın barındır bulunduğu indi bölgesinde, uygulama oturumu ve veritabanına yönelik bağlantıyı işler.
- Bu uygulama, basit bir statik sayfadan Kubernetes'te barındırılan mikro hizmet odaklı bir uygulamaya kadar çeşitli olabilir.
- Uygulama ortamı ile Cosmos DB arasındaki bağlantı, Azure Active Directory Kullanıcı tarafından Cosmos DB anahtarlarını Key Vault.
- Azure Cosmos DB birden çok gelen API'lerini kullanarak, uygulamanız en yakın bölgeyi biliyor ve bu bölgeye istek gönderebilir. En yakın bölge herhangi bir yapılandırma değişikliği olmadan tanımlanır. Azure Cosmos hesabınıza bölgeleri ekp kaldırsanız ve bu hesaptan bölgeleri kaldırıyorsanız, uygulamanın yeniden dağıtılması veya duraklatılmış olması gerekm yok, her zaman yüksek oranda kullanılabilir. Cosmos DB, verilerin genel dağıtımını ve çoğaltma işlemini tanımlanan bölge sayısına göre ele alır. Ayrıca, bir bölge kullanılamaz hale gelirse kullanıcı eylemine gerek kalmadan en yüksek yük devretme önceliğe sahip bölgeye yük devretme için Otomatik Yük Devretme seçeneğinden de yararlanması gerekir. Otomatik yük devretme etkinleştirildiğinde bölge önceliği değiştirilebilir.
Bileşenler
- Azure Traffic Manager:İç içe geçmiş altı tür DNS tabanlı trafik yönlendirme seçeneğiyle uygulamalarınız için DNS tabanlı yük dengeleme/yönlendirme seçenekleri oluşturun.
- Azure Active Directory:Şirket içi dizinleri eşitler ve çoklu oturum açmayı etkinleştirir.
- Azure Cosmos DB:Tüm ölçekler için genel olarak dağıtılmış, çok modelli veritabanı.
Alternatifler
Bu senaryoyu çeşitli işlem ve sunucusuz seçeneklerle genişletebilirsiniz.
İşlem seçenekleri
- Azure Sanal Makineler:Linux ve sanal Windows (VM) oluşturun ve maliyetleri düşürin.
- Azure Kubernetes Services:Tüm uygulama ve mikro hizmet temel iş yükleriniz için yüksek oranda kullanılabilir, güvenli ve tam olarak yönetilen Kubernetes hizmeti.
- App Service:Web ve mobil için hızlı bir şekilde güçlü bulut uygulamaları oluşturun.
Sunucusuz seçenekler
- Azure İşlevleri:Olay odaklı sunucusuz işlemden fazlası.
- Azure Logic Apps:Hızlı bir şekilde güçlü tümleştirme çözümleri oluşturma.
Dikkat edilmesi gerekenler
Kullanılabilirlik
Cosmos DB örneğinin kullanılabilirliği bir dizi faktöre bağlıdır. Çoğaltılan bölgelerin Cosmos, uygulamanın kullanılabilirliği de o kadar yüksek olur. Her bölge bir Azure Cosmos DB kapsayıcısı için tüm veri bölümlerini içerir ve varsayılan olarak okumalar için kullanılabilir. Veri katmanının kullanılabilirliğini artırmak için çok bölgeli yazmayı etkinleştirebilirsiniz. Bunu yapmak veri katmanının kullanılabilirliğini artırır. Daha zayıf tutarlılık düzeyleri ve kullanılabilirlik alanları kullanarak da kullanılabilirliği artırabilirsiniz.
Yukarıdaki yaklaşımı göz önünde bulundurarak, Azure Cosmos DB Otomatik Yük Devretme'de yüksek kullanılabilirlik elde ediyorsanız, çözümlerinizi uygulamayı mümkün olan en yüksek SLA'da çalıştıracak şekilde yapılandırabilirsiniz.
Uygulama katmanı için Traffic Manager iç içe geçmiş profillerle yapılandırılması gerekir. Bu tasarımı en üst düzeye iterek farklı uygulama seçimlerini bölge başına ölçeklendirebilirsiniz. Bölge başına dağıtım yüksek kullanılabilirlik yaklaşımını da benimser.
Performans
Sistem performansı, işlem ve veritabanı düzeyindeki bir dizi faktörden etkilenir. Bir sanal App Service veya başka bir işlem seçeneği için SKU, her bölgede kullanılabilen belleği ve çekirdekleri etkiler. Buna ek olarak, işlem katmanının dağıtılacağı bölge sayısı, işleme kapasitesine sahip olduğu ölçeği dikte eder. Ek konumların dağıtımı mevcut bölgeleri baskı altında tutar ve uygulamanın karşılanabilecek maksimum aktarım hızında doğrusal artışlara neden olması gerekir.
Cosmos veritabanı, işlem katmanı kaynakları için bir performans sorununa neden olmayacak şekilde yapılandırıldı. Cosmos DB'deki her veritabanı ve kapsayıcı, otomatik ölçeklendirme için yapılandırıldığından ve Cosmos DB'nin istekleri kısıtlamamalarını sağlayan en yüksek istek birimi değeriyle sağlanmalıdır. Cosmos DB varlıkları için uygun maksimum istek birimi değerlerini belirlemek için uygulama için yaklaşık en yüksek aktarım hızına yakın yük testleri çalıştırabilirsiniz. Daha güçlü karşıtlarıyla karşılaştırıldığında, daha zayıf tutarlılık düzeyleri daha yüksek aktarım hızı ve performans avantajları sunar.
En önemlisi, her bölgesel API'nin istekleri en yakın Cosmos DB bölgesine yönlendirip yönlendirmesi için SDK, Azure İşlevleri bağlamaları gibi, Cosmos DB'den okunan ve Cosmos DB'ye yazan kodda mantık uygulanırken PreferredLocations kullanılmalıdır. SDK, Azure Cosmos DB hesabı yapılandırmasına, geçerli bölgesel kullanılabilirlik durumuna ve belirtilen tercih listesine bağlı olarak, okuma ve yazma işlemlerini gerçekleştirmek için en uygun uç noktayı seçer. Bu işlem önemli performans artışları ile sonuç verir.
Dayanıklılık
Daha yüksek bir güvenlik için Azure veritabanı dağıtımları için kullanılabilirlik Cosmos kullanabilirsiniz. Ayrıca, Cosmos DB dağıtımında hangi tutarlılık düzeyi seçimlerini Cosmos bağlıdır. Bu tutarlılık düzeyine bağlı olarak farklı bir güvenlik düzeyi elde edeceksiniz (daha fazla bilgi için bkz. Tutarlılık, kullanılabilirlik ve performanstan çıkarmalar).
Ölçeklenebilirlik
Ölçeklendirme bu diyagramda birçok düzeyi temel alan bir uygulamadır. Azure Cosmos DB, esnek ölçek ve tahmin edilebilir performans için tasarlanmıştır. Uygulama düzeyinde, kullanılan işlem modeline bakmalısınız. Azure İşlevleri ve App Service otomatik olarak ölçeklendirme. Azure Sanal Makineler için Azure Sanal Makine Ölçek Kümelerini kullanabilirsiniz. Bu ihtiyacı fark ettiyseniz, mümkün olduğunda her zaman sunucusuz bir seçeneği göz önünde bulundurabilirsiniz.
Güvenlik
Güvenlik açısından bakıldığında, ortam erişiminin güvenliğini sağlamak için Azure Active Directory kimlik tabanlı bir sisteme doğru inin. Arka uçta uygulama yönetilen kimlikler aracılığıyla erişilir (en iyi tasarımla) ancak erişim güvenliğini sağlamak için Azure Active Directory Users ve Azure Key Vault yaklaşımını da göz önünde bulundurabilirsiniz. Ayrıca, Cosmos DB örneği daha fazla güvenlik altına alınarak yalnızca okuma ve yazma özelliğine sahip varlıklar farklı bölgelere dağıtılan çeşitli arka uçlar olacak şekilde sağlanacak. IP kısıtlaması, yerleşik güvenlik duvarı kullanılarak hesaba uygulanabilir.
Ayrıca, RBAC Azure Active Directory doğrudan Cosmos DB SQL API'sinde de desteklemektedir.
Sonraki adımlar
Azure Cosmos DB hakkında daha fazla bilgi:
- Azure Cosmos DB hesabını yönetme
- Azure veritabanı kullanan uygulamalarınıza çok bölgeli yazma Cosmos yapılandırma
- Azure Cosmos DB ile verilerinizi küresel ölçekte dağıtma
- Azure Cosmos DB'deki tutarlılık düzeyleri
- Azure Cosmos DB'deki tutarlılık düzeylerini yönetme
- SQL API'sini ve Cosmos KULLANARAK Azure SQL DB ile bir .NET web Azure portal
- Azure veritabanı verilerine erişmek için sistem tarafından atanan yönetilen Cosmos kullanma
- Azure Cosmos DB nasıl yüksek kullanılabilirlik sağlar?
- Azure Cosmos hesabınız için otomatik yük devretmeyi etkinleştirme
Daha fazla bilgi Azure Traffic Manager:
- Traffic Manager nedir?
- Traffic Manager yönlendirme yöntemleri
- Öğretici: Coğrafi trafik yönlendirme yöntemini Traffic Manager
İlgili kaynaklar
İlgili çözüm fikirleri:
- Bulutta yerel uygulamalar oluşturma
- Yüksek düzeyde ölçeklenebilir müşteri hizmetleri ve ERP uygulamaları sunun
- Cosmos DB kullanarak Oyun
- Cosmos DB ile IoT
- Cosmos DB kullanarak kişiselleştirme
- Cosmos DB'nin kullanıldığı perakende ve e-ticaret
- Cosmos DB kullanarak sunucusuz uygulamalar
İlgili tam mimariler:
- Kapsayıcı tabanlı iş yükleri için CI/CD işlem hattı
- Azure'da haber akışlarının toplu olarak alınması ve analiz edilmesi
- Ölçeklendirilebilir sipariş işleme
İlgili mimari Kılavuzu: