Jika Anda menghosting klaster MongoDB Anda di Amazon AWS wilayah AS-Timur, bulan lalu cukup menarik – dua pemadaman dalam empat minggu telah menguji kesiapan operasional cloud Anda penyebaran. Saat saya mengetik posting blog ini, wilayah Sao Paulo juga mengalami masalah konektivitas. Sejumlah database produksi yang mengejutkan tidak bertahan dari pemadaman AWS. Kami memiliki kesempatan untuk berbicara dengan sejumlah pelanggan MongoDB di AWS untuk memahami bagaimana pemadaman memengaruhi penerapan mereka. Saya melakukan survei singkat terhadap individu yang terkena dampak, dan berikut adalah empat alasan utama tim mengalami waktu henti:
-
Menjalankan instance mandiri vs. set replika
Jika Anda menjalankan server produksi MongoDB, tidak ada alasan untuk menjalankan instance mandiri vs. set replika. Buat set replika sehingga Anda dapat memiliki failover sekunder jika terjadi kegagalan primer.
-
Tidak mendistribusikan replika di seluruh zona ketersediaan
Pastikan Anda mendistribusikan replika Anda di berbagai zona ketersediaan di suatu wilayah. Dengan cara ini, jika satu AZ turun, seperti yang terjadi dua kali bulan ini, server Anda yang tersisa akan mengambil alih dan Anda akan memiliki cluster yang berfungsi. Jika wilayah Anda hanya memiliki dua AZ, tempatkan arbiter Anda di wilayah yang berbeda. Namun ini tidak akan membantu Anda jika seluruh wilayah turun. Jika Anda ingin bertahan dari kegagalan seluruh wilayah AWS, Anda perlu mendistribusikan set replika Anda di berbagai wilayah.
-
Tidak mendistribusikan front-end atau server aplikasi Anda di seluruh zona ketersediaan
Pastikan Anda mendistribusikan front-end Anda di berbagai zona ketersediaan. Tidak ada gunanya memiliki database Anda dan berjalan jika front-end Anda sedang down. Jika Anda memiliki masalah biaya, Anda dapat terus memperbarui front-end 'berhenti' di setiap AZ yang dapat Anda aktifkan jika diperlukan. Pilihan lainnya adalah memiliki front-end dengan ukuran yang lebih kecil.
-
Hubungkan ke kumpulan replika vs. satu server di string koneksi Anda
Pastikan Anda terhubung ke set replika alih-alih satu server. Sintaksnya berbeda untuk driver yang berbeda, tetapi periksa dokumentasi driver Anda untuk memastikan Anda menggunakan sintaks yang tepat untuk terhubung ke set replika alih-alih satu server. Dengan cara ini, jika ada failover, driver MongoDB akan melakukan hal yang benar dan terhubung ke primer baru.
Di ScaleGrid, kami mengotomatiskan semua aspek operasional penerapan Anda sehingga Anda dapat fokus pada aplikasi Anda dan tidak khawatir tentang operasi. Saat Anda membuat kumpulan replika MongoDB dengan ScaleGrid, kami secara otomatis mendistribusikan replika di seluruh zona ketersediaan. Karena distribusi ini, semua pelanggan kami dapat mengatasi masalah waktu henti AWS dengan aman. Jika Anda tertarik untuk membaca lebih detail tentang aspek operasional MongoDB, Anda dapat membaca posting blog terperinci saya sebelumnya – 10 pertanyaan untuk ditanyakan dan dijawab saat menghosting MongoDB di AWS