Halaman ini menjelaskan cara arsitektur Cluster Memorystore for Valkey mendukung dan menyediakan ketersediaan tinggi (HA). Halaman ini juga menjelaskan konfigurasi yang direkomendasikan yang berkontribusi pada peningkatan performa dan stabilitas instance.
Ketersediaan tinggi
Memorystore for Valkey dibuat berdasarkan arsitektur dengan ketersediaan tinggi tempat klien Anda langsung mengakses VM Memorystore for Valkey terkelola. Klien Anda melakukannya dengan menghubungkan ke setiap alamat jaringan shard, seperti yang dijelaskan dalam Menghubungkan ke instance Memorystore for Redis Cloud.
Menghubungkan langsung ke shard memberikan manfaat berikut:
Koneksi langsung menghindari titik tunggal kegagalan karena setiap shard dirancang untuk gagal secara independen. Misalnya, jika traffic dari beberapa klien membebani slot (potongan ruang kunci), kegagalan shard akan membatasi dampaknya pada shard yang bertanggung jawab untuk menayangkan slot.
Koneksi langsung menghindari hop perantara, yang meminimalkan waktu round-trip (latensi klien) antara klien Anda dan VM Valkey.
Konfigurasi yang direkomendasikan
Sebaiknya buat instance multi-zona yang sangat tersedia, bukan instance satu zona karena keandalan yang lebih baik yang diberikannya. Namun, jika Anda memilih untuk menyediakan instance tanpa replika, sebaiknya pilih instance satu zona. Untuk mengetahui informasi selengkapnya, lihat Memilih instance satu zona jika instance Anda tidak menggunakan replika.
Untuk mengaktifkan ketersediaan tinggi bagi instance, Anda harus menyediakan minimal 1 node replika untuk setiap shard. Anda dapat melakukannya saat Membuat instance, atau Anda dapat Menskalakan jumlah replika menjadi minimal 1 replika per shard. Replika menyediakan Failover otomatis selama pemeliharaan terencana dan kegagalan shard yang tidak terduga.
Anda harus mengonfigurasi klien sesuai dengan panduan di Praktik terbaik klien. Dengan menggunakan praktik terbaik yang direkomendasikan, klien Anda dapat menangani peran (failover otomatis) dan perubahan penetapan slot (penggantian node, penskalaan keluar/masuk konsumen) secara otomatis dan lancar untuk instance Anda tanpa downtime.
Replika
Instance Memorystore for Valkey yang sangat tersedia adalah resource regional. Artinya, VM utama dan replika shard didistribusikan di beberapa zona untuk melindungi dari pemadaman layanan zona. Memorystore for Valkey mendukung instance dengan 0, 1, atau 2 replika per node.
Anda dapat menggunakan replika untuk meningkatkan throughput baca dengan menskalakan operasi baca.
Untuk melakukannya, Anda harus menggunakan perintah READONLY
untuk membuat koneksi
yang memungkinkan klien membaca dari replika.
Bentuk instance dengan 0 replika per node
Bentuk instance dengan 1 replika per node
Bentuk instance dengan 2 replika per node
Failover otomatis
Failover otomatis dalam shard dapat terjadi karena pemeliharaan atau kegagalan node utama yang tidak terduga. Selama failover, replika dipromosikan menjadi replika utama. Anda dapat mengonfigurasi replika secara eksplisit. Layanan ini juga dapat menyediakan replika tambahan untuk sementara selama pemeliharaan internal untuk menghindari periode nonaktif.
Failover otomatis mencegah kehilangan data selama update pemeliharaan. Untuk mengetahui detail tentang perilaku failover otomatis selama pemeliharaan, lihat Perilaku failover otomatis selama pemeliharaan.
Durasi failover dan perbaikan node
Failover otomatis dapat memerlukan waktu sekitar puluhan detik untuk peristiwa yang tidak terencana seperti error proses node utama, atau kegagalan hardware. Selama waktu ini, sistem mendeteksi kegagalan, dan memilih replika untuk menjadi replika utama yang baru.
Reparasi node dapat memerlukan waktu beberapa menit agar layanan dapat mengganti node yang gagal. Hal ini berlaku untuk semua node utama dan replika. Untuk instance yang tidak memiliki ketersediaan tinggi (tidak ada replika yang disediakan), memperbaiki node utama yang gagal juga memerlukan waktu sekitar beberapa menit.
Perilaku klien selama failover yang tidak terencana
Koneksi klien kemungkinan akan direset bergantung pada sifat kegagalan. Setelah pemulihan otomatis, koneksi harus dicoba lagi dengan backoff eksponensial untuk menghindari kelebihan beban node utama dan replika.
Klien yang menggunakan replika untuk throughput baca harus bersiap menghadapi penurunan kapasitas sementara hingga node yang gagal diganti secara otomatis.
Operasi tulis yang hilang
Selama failover yang disebabkan oleh kegagalan yang tidak terduga, operasi tulis yang dikonfirmasi dapat hilang karena sifat asinkron protokol replikasi Valkey.
Aplikasi klien dapat memanfaatkan perintah WAIT Valkey untuk meningkatkan keamanan data di dunia nyata.
Dampak ruang kunci dari pemadaman layanan satu zona
Bagian ini menjelaskan dampak pemadaman layanan satu zona pada instance Memorystore for Valkey.
Instance multi-zona
Instance HA: Jika zona mengalami pemadaman layanan, seluruh ruang kunci tersedia untuk operasi baca dan tulis, tetapi karena beberapa replika baca tidak tersedia, kapasitas baca akan berkurang. Sebaiknya sediakan kapasitas cluster yang berlebihan agar instance memiliki kapasitas baca yang cukup, jika terjadi pemadaman layanan di satu zona. Setelah pemadaman layanan berakhir, replika di zona yang terpengaruh akan dipulihkan dan kapasitas baca cluster akan kembali ke nilai yang dikonfigurasi. Untuk informasi selengkapnya, lihat Pola untuk aplikasi yang skalabel dan andal.
Instance non-HA (tanpa replika): Jika zona mengalami pemadaman layanan, bagian ruang kunci yang disediakan di zona yang terpengaruh akan mengalami penghapusan data, dan tidak tersedia untuk operasi tulis atau baca selama durasi pemadaman layanan. Setelah pemadaman layanan berakhir, primer di zona yang terpengaruh akan dipulihkan dan kapasitas cluster akan kembali ke nilai yang dikonfigurasi.
Instance zona tunggal
- Instance HA dan Non-HA: Jika zona tempat instance disediakan mengalami pemadaman layanan, cluster tidak akan tersedia dan data akan dihapus. Jika zona lain mengalami pemadaman layanan, cluster akan terus melayani permintaan baca dan tulis.