Halaman ini menjelaskan Ketersediaan Tinggi (HA) untuk instance Memorystore for Redis dalam Tingkat Standar.
Ringkasan
Tingkat Standar melindungi instance Redis dari kegagalan umum dengan mereplikasi data ke satu atau beberapa replika, dan dengan menyediakan failover otomatis yang cepat ke replika.
Tingkat Standar disediakan dengan satu replika utama dan satu atau beberapa replika. Instance Tingkat Standar yang menonaktifkan readReplicaMode
memiliki satu replika non-baca. Instance Tingkat Standar yang mengaktifkan
readReplicaMode
memiliki satu hingga lima replika baca. Untuk menentukan apakah
readReplicaMode
diaktifkan, lihat Melihat informasi replika baca untuk instance Anda.
Memorystore for Redis menyediakan ketersediaan tinggi dengan mereplikasi Redis utama ke satu atau beberapa replika. Perubahan yang dilakukan pada data di instance primer disalin ke replika menggunakan protokol replikasi asinkron Redis. Karena sifat replikasi yang asinkron, replika dapat tertinggal dari primer, bergantung pada kecepatan penulisan di primer.
Jika terjadi kegagalan pada instance utama, instance akan otomatis melakukan failover ke replika. Untuk instance yang dikonfigurasi dengan lebih dari satu replika, instance akan otomatis melakukan failover ke replika dengan jeda replikasi paling kecil yang responsif.
Jika instance dikonfigurasi hanya dengan satu replika non-baca, semua koneksi aplikasi diarahkan ke endpoint utama. Jika instance dikonfigurasi menggunakan replika baca, aplikasi juga dapat memanfaatkan endpoint baca untuk mendistribusikan kueri baca di semua replika.
Saat failover dipicu
Failover terjadi saat Redis utama gagal. Selama failover, endpoint baca dan utama akan otomatis dialihkan ke replika dan endpoint utama yang baru. Semua koneksi ke endpoint utama akan dihentikan dan koneksi endpoint baca ke replika baca yang dipromosikan juga akan dihentikan.
Pengaruh failover terhadap aplikasi Anda
Saat instance utama melakukan failover ke replika, koneksi yang ada ke endpoint utama instance akan terputus. Instance tidak akan tersedia selama rata-rata 30 detik selama perbaikan otomatis, dan 15 detik untuk peristiwa pemeliharaan. Saat terhubung kembali, aplikasi Anda akan otomatis dialihkan ke instance utama baru menggunakan string koneksi atau alamat IP yang sama. Anda tidak perlu mengupdate aplikasi setelah failover.
Selama failover, jika ada koneksi ke endpoint baca, koneksi ke replika yang dipromosikan menjadi primer akan dihentikan. Koneksi ke replika lain akan terus ditayangkan selama failover. Setelah failover selesai dan replika baru tersedia, koneksi akan dialihkan ke replika baru.
Mencoba lagi koneksi instance setelah failover
Saat terjadi failover, semua koneksi dari endpoint utama akan terputus dan bergantung pada jumlah replika, beberapa koneksi baca akan dihentikan.
Karena hilangnya koneksi ini, aplikasi Anda perlu mencoba lagi untuk memulihkan koneksi. Logika percobaan ulang harus menggunakan backoff eksponensial untuk memastikan Anda tidak membebani instance dengan terlalu banyak permintaan percobaan ulang. Selain menyertakan logika percobaan ulang, Anda harus menguji pengaruh failover terhadap aplikasi dengan menguji dengan failover manual.
Sebagian besar klien Redis memiliki kemampuan coba lagi bawaan yang harus Anda manfaatkan jika terjadi gangguan koneksi karena failover.
Failover terjadi dalam skenario berikut:
Jika Anda menerapkan logika percobaan ulang di aplikasi untuk menangani koneksi yang terputus karena pengalihan, instance Anda tidak akan mengalami dampak performa yang signifikan. Biasanya, masalah hanya muncul karena tidak adanya logika percobaan ulang.
Cara melihat status untuk ketersediaan tinggi
Anda dapat melihat metrik ketersediaan tinggi untuk instance Redis menggunakan Cloud Monitoring. Untuk mengetahui informasi tentang metrik yang disediakan Cloud Monitoring untuk Memorystore for Redis, lihat Memantau Instance Redis dan Memantau metrik.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi Cloud Monitoring.
Untuk melihat status replikasi native yang disediakan Redis, Anda dapat mengeluarkan perintah INFO Redis ke instance Memorystore for Redis.