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 Microsoft Azure
API Azure Cosmos DB untuk MongoDB tersedia di semua wilayah Azure. 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).
Di portal Azure, di bilah kiri, klik Azure Cosmos DB.
Di halaman Azure Cosmos DB, pilih akun database untuk dimodifikasi.
Di halaman akun, klik Meniru data secara global dari menu.
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.
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:
- Memberikan akses latensi rendah ke data pengguna akhir di mana pun mereka berada di seluruh dunia
- Menambahkan ketahanan wilayah untuk kelangsungan 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 dibaca dari wilayah sekunder ketika 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.
Mencoba melakukan perencanaan kapasitas untuk migrasi ke Azure Cosmos DB? Anda dapat menggunakan informasi tentang kluster database Anda yang ada saat ini untuk membuat perencanaan kapasitas.
- Jika Anda hanya mengetahui jumlah vcore dan server di kluster database yang ada, baca tentang memperkirakan unit permintaan menggunakan vCore atau vCPU
- Jika Anda mengetahui rasio permintaan umum untuk beban kerja database Anda saat ini, baca memperkirakan unit permintaan menggunakan perencana kapasitas Azure Cosmos DB