Bermain game menggunakan Cosmos DB

API Apps
Cosmos DB

Ide Solusi

Jika Anda ingin melihat kami memperluas artikel ini dengan informasi selengkapnya, seperti kemungkinan kasus penggunaan, layanan alternatif, pertimbangan penerapan, atau panduan harga, beri tahu kami dengan Umpan Balik GitHub!

Ide solusi bermain game ini menskalakan database Anda secara elastis untuk mengakomodasi lonjakan lalu lintas yang tidak terduga dan memberikan pengalaman multipemain berlatensi rendah dalam skala global.

Kemungkinan kasus penggunaan

Skenario khusus ini didasarkan pada skenario game, untuk industri pengembangan game. Pola desain relevan untuk banyak industri yang diperlukan untuk memproses panggilan web lalu lintas tinggi dan permintaan API, seperti e-niaga dan aplikasi ritel.

Arsitektur

Architecture DiagramUnduh SVG arsitektur ini.

Aliran data

  1. Azure Traffic Manager merutekan lalu lintas game pengguna ke aplikasi yang dihosting di Azure App Service, Functions, atau Kontainer, dan ke API yang diterbitkan melalui Azure API Gateway.
  2. Azure CDN menyajikan gambar statis dan konten game kepada pengguna yang disimpan di Azure Blob Storage.
  3. Azure Cosmos DB menyimpan data status game pengguna.
  4. Azure Databricks berkorelasi, membersihkan, dan mengubah data status game.
  5. Azure Functions memproses wawasan yang berasal dari Azure Databricks dan mendorong pemberitahuan ke perangkat seluler, dengan menggunakan Azure Notification Hubs.

Komponen

Arsitektur ini mencakup komponen-komponen berikut:

  • Azure Traffic Manager adalah load balancer berbasis DNS yang mengontrol distribusi lalu lintas pengguna untuk titik akhir layanan di berbagai wilayah Azure. Selama operasi normal, Traffic Manager mengarahkan permintaan ke wilayah utama. Jika wilayah tersebut menjadi wilayah yang tidak tersedia, Traffic Manager dapat mengalihkannya ke wilayah sekunder sesuai kebutuhan.

  • Azure API Management menyediakan gateway API yang berada di depan API Gaming. API Management juga dapat digunakan untuk mengimplementasikan masalah, seperti:

    • Menerapkan kuota penggunaan dan batas tarif
    • Memvalidasi token OAuth untuk autentikasi
    • Mengaktifkan permintaan lintas asal (CORS)
    • Menyimpan cache respons
    • Memantau dan mencatat permintaan
  • Azure App Service menghosting aplikasi API, memungkinkan penyekalaan otomatis dan ketersediaan tinggi tanpa harus mengelola infrastruktur.

  • Azure CDN menayangkan konten statis yang disimpan dari lokasi yang dekat dengan pengguna untuk menurunkan latensi.

  • Azure Blob Storage dioptimalkan untuk menyimpan data terstruktur dalam jumlah yang banyak, seperti media game statis.

  • Azure Cosmos DB adalah layanan database NoSQL yang terkelola sepenuhnya untuk membangun dan memodernisasi aplikasi berperforma tinggi yang dapat diskalakan.

  • Azure Databricks adalah platform analitik berbasis Apache Spark yang dioptimalkan untuk platform layanan cloud Microsoft Azure.

  • Azure Functions adalah opsi komputasi tanpa server yang memungkinkan aplikasi berjalan sesuai permintaan tanpa harus mengelola infrastruktur.

  • Azure Notification Hubs adalah mesin pemberitahuan push yang sangat skalabel untuk mengirim notifikasi dengan cepat ke berbagai perangkat dan platform seluler.

Langkah berikutnya

Tinjau artikel berikut di Cosmos DB:

Dokumentasi produk:

Ide solusi berikut menampilkan Azure Cosmos DB: