Ketersediaan tinggi di Azure Cosmos DB untuk MongoDB vCore
BERLAKU UNTUK: MongoDB vCore
Ketersediaan tinggi dalam wilayah (HA) menghindari waktu henti database dengan mempertahankan replika siaga dari setiap shard dalam kluster. Jika pecahan menjadi tidak responsif karena alasan apa pun, Azure Cosmos DB untuk MongoDB vCore mengalihkan koneksi masuk dari pecahan yang gagal ke siaga. Ketika failover terjadi, pecahan yang dipromosikan selalu memiliki data baru melalui replikasi sinkron.
Semua pecahan utama dalam kluster disediakan ke dalam satu zona ketersediaan (AZ) untuk latensi yang lebih baik antara pecahan. Pecahan siaga disediakan ke zona ketersediaan lain.
Bahkan tanpa ha diaktifkan, setiap shard memiliki penyimpanan redundan lokal (LRS) sendiri dengan tiga replika sinkron yang dikelola oleh layanan Azure Storage. Ketiga replika terletak di wilayah Azure kluster. Jika ada satu kegagalan replika, layanan Azure Storage mendeteksinya dan secara transparan membuat ulang replika yang gagal. Lihat metrik di halaman ini untuk durabilitas penyimpanan LRS.
Saat HA diaktifkan, Azure Cosmos DB untuk MongoDB vCore menjalankan satu shard siaga untuk setiap shard utama dalam kluster. Setiap pecahan utama dan siaga memiliki konfigurasi komputasi dan penyimpanan yang sama. Primer dan siaganya menggunakan replikasi sinkron. Jenis replikasi ini memungkinkan Anda untuk selalu memiliki data yang sama pada pecahan utama dan siaga di kluster Anda. Singkatnya, layanan kami mendeteksi kegagalan pada pecahan utama, dan gagal untuk shard siaga dengan tidak ada kehilangan data.
Kluster string koneksi selalu tetap sama terlepas dari failover. Itu memungkinkan layanan untuk mengabstraksi perubahan dalam pecahan fisik yang melayani permintaan dari aplikasi.
Ketika ketersediaan tinggi di wilayah diaktifkan pada kluster, setiap shard kluster dicakup oleh perjanjian tingkat layanan (SLA) 99,99% untuk ketersediaan.
Ketersediaan tinggi dapat diaktifkan pada waktu pembuatan kluster. Ketersediaan tinggi juga dapat diaktifkan dan dinonaktifkan kapan saja pada kluster Azure Cosmos DB for MongoDB vCore yang ada. Tidak ada waktu henti database saat ketersediaan tinggi diaktifkan atau dinonaktifkan pada kluster Azure Cosmos DB for MongoDB vCore.
Apa yang terjadi selama failover
Setiap failover shard terdiri dari tiga fase: Deteksi tidak tersedia, beralih ke shard siaga, dan pembuatan ulang shard siaga. Layanan ini melakukan pemantauan ketersediaan yang sedang berlangsung untuk setiap pecahan primer dan siaga di kluster dengan melakukan pemeriksaan kesehatan berkala. Ketika pemeriksaan kesehatan dengan andal menunjukkan bahwa pecahan menjadi tidak responsif dan perlu dinyatakan gagal, failover aktual (beralih) ke shard siaga dimulai.
Selama fase pengalihan, pembacaan dan penulisan database dialihkan ke shard siaga. Replikasi sinkron antara setiap shard primer dan siaga memastikan bahwa shard siaga selalu memiliki kumpulan data yang sama dengan yang utamanya. Itu memungkinkan semua failover dilakukan dengan kehilangan data nol. Peralihan ke siaga dilakukan tanpa waktu henti untuk pembacaan. Operasi tulis mungkin memerlukan percobaan ulang layanan internal selama fase pengalihan. Percobaan ulang ini mungkin terlihat sebagai kelambatan tulis di sisi aplikasi.
Setelah failover shard selesai, kluster beroperasi penuh. Langkah terakhir untuk kembali ke konfigurasi asli yang sangat tersedia adalah membuat ulang shard siaga. Pembuatan ulang shard siaga ini dilakukan tanpa waktu henti atau dampak performa pada shard utama.