Menyiapkan database terdistribusi global menggunakan API Azure Cosmos DB untuk MongoDB

BERLAKU UNTUK: MongoDB

Dalam artikel ini, kami menunjukkan cara menggunakan portal Microsoft Azure untuk menyiapkan database terdistribusi global dan menyambungkannya menggunakan API Azure Cosmos DB untuk MongoDB.

Artikel ini membahas tugas-tugas berikut ini:

  • Mengonfigurasikan distribusi global menggunakan portal Microsoft Azure
  • Mengonfigurasi distribusi global menggunakan API Tabel Azure Cosmos DB

Menambahkan wilayah database global menggunakan portal Azure

Azure Cosmos DB tersedia di semua wilayah Azure di seluruh dunia. Setelah memilih tingkat konsistensi default untuk akun database Anda, Anda dapat mengaitkan satu atau beberapa wilayah (tergantung pada tingkat konsistensi default kebutuhan distribusi global Anda).

  1. Di portal Azure, di bilah kiri, klik Azure Cosmos DB.

  2. Di halaman Azure Cosmos DB, pilih akun database untuk dimodifikasi.

  3. Di halaman akun, klik Meniru data secara global dari menu.

  4. Di halaman Meniru data secara global, pilih wilayah untuk ditambahkan atau dihapus dengan mengeklik wilayah di peta, lalu klik Simpan. Ada biaya untuk menambahkan wilayah, lihat halaman harga atau Mendistribusikan data secara global dengan artikel Azure Cosmos DB untuk informasi selengkapnya.

    Klik wilayah di peta untuk ditambahkan atau dihapus

Setelah Anda menambahkan wilayah kedua, opsi Failover Manual diaktifkan pada halaman Meniru data secara global di portal. Anda dapat menggunakan opsi ini untuk menguji proses failover atau mengubah wilayah tulis utama. Setelah Anda menambahkan wilayah ketiga, opsi Prioritas Failover diaktifkan pada halaman yang sama sehingga Anda dapat mengubah urutan failover untuk bacaan.

Memilih kawasan database global

Ada dua skenario umum untuk mengonfigurasi dua wilayah atau lebih:

  1. Memberikan akses latensi rendah ke data pengguna akhir di mana pun mereka berada di seluruh dunia
  2. Menambah ketahanan daerah untuk kelanjutan bisnis dan pemulihan bencana (BCDR)

Untuk memberikan latensi rendah kepada pengguna akhir, disarankan agar Anda menyebarkan aplikasi dan Azure Cosmos DB di wilayah yang sesuai dengan lokasi pengguna aplikasi.

Untuk BCDR, sebaiknya tambahkan wilayah berdasarkan pasangan wilayah yang dijelaskan dalam artikel Replikasi lintas wilayah di Azure: Kesinambungan bisnis dan pemulihan bencana.

Memverifikasi penyiapan wilayah Anda

Cara sederhana untuk memeriksa konfigurasi global Anda dengan API Azure Cosmos DB untuk MongoDB adalah dengan menjalankan perintah isMaster() dari Mongo Shell.

Dari Mongo Shell Anda:

   db.isMaster()

Contoh hasil:

   {
      "_t": "IsMasterResponse",
      "ok": 1,
      "ismaster": true,
      "maxMessageSizeBytes": 4194304,
      "maxWriteBatchSize": 1000,
      "minWireVersion": 0,
      "maxWireVersion": 2,
      "tags": {
         "region": "South India"
      },
      "hosts": [
         "vishi-api-for-mongodb-southcentralus.documents.azure.com:10255",
         "vishi-api-for-mongodb-westeurope.documents.azure.com:10255",
         "vishi-api-for-mongodb-southindia.documents.azure.com:10255"
      ],
      "setName": "globaldb",
      "setVersion": 1,
      "primary": "vishi-api-for-mongodb-southindia.documents.azure.com:10255",
      "me": "vishi-api-for-mongodb-southindia.documents.azure.com:10255"
   }

Menyambungkan ke wilayah pilihan

API Azure Cosmos DB untuk MongoDB mengaktifkan Anda menentukan preferensi baca koleksi Anda untuk database yang didistribusikan secara global. Untuk bacaan latensi rendah dan ketersediaan tinggi global, sebaiknya atur preferensi baca koleksi Anda ke terdekat. Preferensi baca terdekat dikonfigurasi untuk dibaca dari wilayah terdekat.

var collection = database.GetCollection<BsonDocument>(collectionName);
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.Nearest));

Untuk aplikasi dengan wilayah baca/tulis utama dan wilayah sekunder untuk skenario pemulihan bencana (DR), sebaiknya atur preferensi baca koleksi Anda ke pilihan utama. Preferensi baca pilihan utama dikonfigurasi untuk membaca dari wilayah sekunder saat wilayah utama tidak tersedia.

var collection = database.GetCollection<BsonDocument>(collectionName);
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.SecondaryPreferred));

Terakhir, jika Anda ingin menentukan wilayah baca Anda secara manual. Anda dapat mengatur tag wilayah dalam preferensi baca Anda.

var collection = database.GetCollection<BsonDocument>(collectionName);
var tag = new Tag("region", "Southeast Asia");
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.Secondary, new[] { new TagSet(new[] { tag }) }));

Inilah akhir dari tutorial ini. Anda dapat mempelajari cara mengelola konsistensi akun Anda yang direplikasi secara global dengan membaca tingkat Konsistensi di Azure Cosmos DB. Dan untuk informasi selengkapnya tentang cara kerja replikasi database global di Azure Cosmos DB, lihat Mendistribusikan data secara global dengan Azure Cosmos DB.

Langkah berikutnya

Dalam tutorial ini, Anda telah melakukan tugas-tugas berikut:

  • Mengonfigurasikan distribusi global menggunakan portal Microsoft Azure
  • Mengonfigurasi distribusi global menggunakan API Tabel Azure Cosmos DB

Anda sekarang dapat melanjutkan ke tutorial berikutnya untuk mempelajari cara mengembangkan secara lokal menggunakan emulator lokal Azure Cosmos DB.

Apakah Anda sedang mencoba membuat perencanaan kapasitas untuk migrasi ke Azure Cosmos DB? Anda dapat menggunakan informasi tentang kluster database Anda yang ada saat ini untuk perencanaan kapasitas.