Cosmos DB kullanarak Oyun

API Apps
Cosmos DB

Genel BakışOverview

Bu oyun çözümü mimarisi esnek, veritabanınızı tahmin edilemeyen sayıda trafiği kapsayacak şekilde ölçeklendirir ve küresel ölçekte düşük gecikmeli çok oyunculu deneyimler sağlar.This gaming solution architecture elastically scales your database to accommodate unpredictable bursts of traffic and deliver low-latency multi-player experiences on a global scale. Bu özel senaryo bir oyun senaryosunu temel alır, ancak tasarım desenleri, yüksek trafikli web çağrıları ve e-ticaret ve perakende uygulamalar gibi API isteklerinin işlenmesi gereken birçok sektör için de uygundur.This specific scenario is based on a gaming scenario, but the design patterns are relevant for many industries requiring the process high-traffic web calls and API requests such as e-commerce and retail applications.

MimariArchitecture

Mimari diyagramı Bu mimarinin bir SVG indirin.Architecture Diagram Download an SVG of this architecture.

Veri AkışıData Flow

  1. Azure Traffic Manager, bir kullanıcının oyun trafiğini, Azure API Gateway aracılığıyla yayınlanan Azure App Service, Işlevler veya kapsayıcılar ve API 'lerde barındırılan uygulamalara yönlendirir.Azure Traffic Manager routes a user's game traffic to the apps hosted in Azure App Service, Functions or Containers and APIs published via Azure API Gateway.
  2. Azure CDN, Azure Blob depolamada depolanan kullanıcıya statik görüntüler ve oyun içerikleri sunar.Azure CDN serves static images and game content to the user that are stored in Azure Blob Storage.
  3. Azure Cosmos DB kullanıcının oyun durumu verilerini depolar.Azure Cosmos DB stores user's game state data.
  4. Azure Databricks, oyun durumu verilerini yeniden ilişkilendirir, temizler ve dönüştürür.Azure Databricks correlates, cleanses and transforms game state data.
  5. Azure Işlevleri Azure Databricks 'dan türetilmiş öngörüleri işler ve Azure Notification Hubs kullanarak bildirimleri mobil cihazlara gönderir.Azure Functions processes the insights derived from Azure Databricks and pushes notifications using Azure Notification Hubs to mobile devices.

BileşenlerComponents

Bu mimari aşağıdaki bileşenleri içerir:This architecture includes the following components:

  • Azure Traffic Manager , farklı Azure bölgelerindeki hizmet uç noktaları için Kullanıcı trafiğinin DAĞıTıMıNı denetleyen DNS tabanlı bir yük dengeleyicidir.Azure Traffic Manager is a DNS-based load balancer that controls the distribution of user traffic for service endpoints in different Azure regions. Normal işlemler sırasında, istekleri birincil bölgeye yönlendirir.During normal operations, it routes requests to the primary region. Bu bölge kullanılamaz duruma gelirse Traffic Manager ikincil bölgeye gerektiği gibi yük devreder.If that region becomes unavailable, Traffic Manager can fail over to secondary region as needed.

  • Azure API Management , oyun API 'lerinin önünde bulunan bir API ağ geçidi sunar.Azure API Management provides an API gateway that sits in front of the Gaming APIs. Ayrıca, şu gibi konuları uygulamak için de kullanılabilir: API ManagementAPI Management also be used to implement concerns such as:

    • Kullanım kotalarını ve oran sınırlarını zorlamaEnforcing usage quotas and rate limits
    • Kimlik doğrulaması için OAuth belirteçleri doğrulanıyorValidating OAuth tokens for authentication
    • Çıkış noktaları arası istekleri etkinleştirme (CORS)Enabling cross-origin requests (CORS)
    • Önbelleğe alma yanıtlarıCaching responses
    • İzleme ve günlüğe kaydetme istekleriMonitoring and logging requests
  • Azure App Service , altyapıyı yönetmek zorunda kalmadan otomatik ölçeklendirme ve yüksek kullanılabilirliğe ızın veren API uygulamalarını barındırır.Azure App Service hosts API applications allowing autoscale and high availability without having to manage infrastructure.

  • Azure CDN , gecikme süresini azaltmak için konumlardan kullanıcılara yakın statik, önbelleğe alınmış içerik sunar.Azure CDN delivers static, cached content from locations close to users to reduce latency.

  • Azure Blob depolama , statik oyun medyası gibi büyük miktarda yapılandırılmamış veriyi depolamak için iyileştirilmiştir.Azure Blob Storage are optimized to store large amounts of unstructured data, such as static gaming media.

  • Azure Cosmos DB , ölçeklenebilir, yüksek performanslı uygulamalar oluşturmak ve yönetmek için tam olarak yönetilen bir NoSQL veritabanı hizmetidir.Azure Cosmos DB is a fully managed NoSQL database service for building and modernizing scalable, high performance applications.

  • Azure Databricks, Microsoft Azure bulut hizmetleri platformu için iyileştirilen Apache Spark tabanlı bir analiz platformudur.Azure Databricks is an Apache Spark-based analytics platform optimized for the Microsoft Azure cloud services platform.

  • Azure işlevleri , uygulamaların altyapıyı yönetmek zorunda kalmadan isteğe bağlı olarak çalışmasına izin veren sunucusuz işlem seçenekleridir.Azure Functions are serverless compute options that allow applications to run on-demand without having to manage infrastructure.

  • Azure Notification Hubs , çeşitli mobil cihazlara ve platformlara hızlı bir şekilde bildirim göndermek için yüksek düzeyde ölçeklenebilir bir anında iletme bildirimi altyapısıdır.Azure Notification Hubs is a massively scalable push notification engine for quickly sending notifications to variety of mobile devices and platforms.