Tentang pemeliharaan

Halaman ini menjelaskan cara Memorystore for Redis Cluster melakukan pemeliharaan pada instance. Fitur ini juga memberikan informasi dan rekomendasi konfigurasi yang harus diketahui aplikasi klien Anda untuk memanfaatkan desain pemeliharaan tanpa waktu henti (zero downtime) Memorystore for Redis Cluster. Rekomendasi ini berlaku untuk cluster dengan ketersediaan tinggi dan cluster tanpa replika. Namun, kami sangat merekomendasikan konfigurasi ketersediaan tinggi untuk semua kasus penggunaan produksi.

Memorystore for Redis Cluster secara rutin mengupdate instance untuk memastikan layanan ini andal, berperforma tinggi, aman, dan selalu terbaru. Update ini disebut pemeliharaan. Pemeliharaan dikelola sepenuhnya oleh layanan dan dirancang agar tidak berdampak pada periode nonaktif.

Pemeliharaan biasanya termasuk dalam kategori berikut:

  • Fitur Memorystore. Untuk meluncurkan beberapa fitur, Memorystore memerlukan update pemeliharaan.
  • Patch sistem operasi. Kami terus memantau kerentanan keamanan yang baru teridentifikasi di sistem operasi. Setelah ditemukan, kami melakukan patch pada sistem operasi untuk melindungi Anda dari risiko baru.
  • Patch database. Pemeliharaan dapat mencakup update Redis untuk meningkatkan karakteristik keamanan, performa, dan keandalan instance di luar yang disediakan OSS Redis.

Mengonfigurasi aplikasi klien Anda

Untuk mengonfigurasi aplikasi klien Anda agar mendapatkan performa dan ketersediaan terbaik selama pemeliharaan, ikuti langkah-langkah berikut:

  1. Gunakan dan konfigurasi klien cluster OSS Redis Anda sesuai dengan panduan di Praktik terbaik klien Redis untuk memastikan bahwa pemeliharaan terjadwal tidak memengaruhi aplikasi klien Anda. Konfigurasi klien yang kami rekomendasikan dapat menghindari reset koneksi melalui refresh topologi inline berkala dan rotasi koneksi latar belakang.
  2. Uji aplikasi klien Anda dengan serangkaian operasi update (seperti penskalaan masuk atau keluar, perubahan jumlah replika) saat menjalankan beban kerja yang representatif pada node utama dan replika, serta memantau dampak klien. Pembaruan ini menguji logika penggantian topologi inline pada klien, dampak sinkronisasi penuh, penemuan node baru, dan kemampuan penghapusan node yang ada. Pengujian membantu memastikan bahwa klien cluster OSS Redis dikonfigurasi dengan benar untuk menghindari dampak negatif pada aplikasi Anda.

Pemeliharaan terjadwal

Memorystore for Redis Cluster memanfaatkan strategi siklus proses deployment bertahap dan buat-sebelum-hapus untuk menghindari dampak periode nonaktif yang disebabkan oleh pemeliharaan. Pemeliharaan tanpa periode nonaktif dicapai dengan menggunakan kemampuan pengalihan permintaan dari protokol cluster OSS Redis bersama dengan mekanisme Memorystore berikut:

  1. Failover terkoordinasi tanpa kehilangan data.
  2. Penghapusan node yang lancar untuk memungkinkan klien mengikuti pembaruan topologi cluster tanpa memengaruhi ketersediaan.
  3. Endpoint Private Service Connect cluster tidak terpengaruh oleh pemeliharaan. Untuk mengetahui informasi selengkapnya tentang endpoint ini, lihat Endpoint cluster.

Perilaku layanan yang dijelaskan di bagian berikut hanya berlaku untuk pemeliharaan terjadwal. Untuk mengetahui informasi tentang dampak peristiwa yang tidak direncanakan seperti kegagalan hardware, lihat Perilaku klien selama failover yang tidak direncanakan.

Strategi deployment bertahap

Deployment pemeliharaan Memorystore for Redis Cluster dilakukan dengan cakupan yang terus meningkat, dan pada kecepatan yang memungkinkan deteksi kegagalan cukup awal untuk mengurangi dampak dan membangun keyakinan stabilitas. Waktu pemrosesan (waktu selama update diterapkan dan dipantau sebelum dianggap berhasil dan dilanjutkan) diintegrasikan di seluruh kumpulan cluster Memorystore pada skala layanan. Selain itu, waktu pemrosesan terintegrasi dalam cluster di seluruh zona dalam suatu region (beberapa domain kesalahan) untuk mengurangi cakupan dampak, jika ada.

Untuk cluster yang dikonfigurasi untuk ketersediaan tinggi, paling banyak satu domain/zona kesalahan yang diupdate pada waktu tertentu untuk memastikan bahwa shard cluster, termasuk primer dan replika, memiliki ketersediaan tinggi selama update. Selain itu, hanya beberapa node Redis yang diperbarui pada waktu tertentu. Update menggunakan mekanisme siklus proses buat-sebelum-hapus untuk memaksimalkan stabilitas cluster. Strategi ini memberikan manfaat paling besar saat memperbarui cluster dengan banyak shard. Menerapkan update hanya pada sebagian kecil ruang kunci pengguna secara keseluruhan pada waktu tertentu akan memaksimalkan ketersediaan data.

Strategi siklus proses buat-sebelum-hapus

Cluster Redis memiliki beberapa shard. Setiap shard memiliki satu node utama dan nol atau lebih node replika. Memorystore menggunakan proses berikut untuk memperbarui node Redis utama atau replika yang ada di shard:

  1. Memorystore for Redis Cluster pertama-tama menambahkan replika yang benar-benar baru dengan update software terbaru ke shard. Memorystore membuat node yang benar-benar baru, bukan memperbarui node yang ada, untuk memastikan kapasitas yang disediakan dipertahankan jika terjadi kegagalan bootstrap yang tidak terduga.
  2. Jika node dalam shard yang akan diupdate adalah node utama, node tersebut akan dikonversi terlebih dahulu menjadi replika sebelum dihapus menggunakan failover terkoordinasi.
  3. Selanjutnya, Memorystore menghapus replika yang menggunakan software sebelumnya.
  4. Proses ini diulang untuk setiap node di cluster.

Strategi buat-sebelum-hancurkan membantu mempertahankan kapasitas cluster yang disediakan, dibandingkan dengan deployment bertahap biasa yang memperbarui di tempat, tetapi mengakibatkan gangguan ketersediaan (dan terkadang kehilangan data) untuk aplikasi klien. Untuk shard tanpa replika, Memorystore for Redis Cluster tetap menyediakan replika baru terlebih dahulu, mengoordinasikan failover, dan terakhir mengganti node utama shard yang ada.

Langkah 1: Tambahkan replika Redis

Langkah pertama mekanisme buat-sebelum-hapus adalah menambahkan node replika dengan software terbaru menggunakan mekanisme OSS Redis sinkronisasi penuh untuk menyalin data dari node utama ke node replika. Hal ini dilakukan dengan membuat fork proses turunan dan memanfaatkan replikasi tanpa disk untuk mem-bootstrap replika. Memorystore for Redis Cluster mendukung replikasi tanpa disk. Kecuali jika Anda mengaktifkan persistensi, Memorystore for Redis Cluster tidak menggunakan disk selama replikasi.

Anda dapat memanfaatkan arsitektur skala horizontal cluster dengan sebaik-baiknya dengan menyediakan jumlah shard yang lebih tinggi untuk mengurangi ukuran ruang kunci dalam node. Memiliki set data yang lebih kecil per node membantu mengurangi dampak latensi fork dari operasi sinkronisasi penuh. Hal ini juga mempercepat penyalinan data di seluruh node.

Langkah 2: Pengalihan primer terkoordinasi

Jika node Redis yang perlu diupdate adalah node utama, Memorystore akan menjalankan failover terkoordinasi terlebih dahulu ke node replika yang baru ditambahkan, lalu melanjutkan dengan penghapusan node. Selama failover terkoordinasi, klien dan node Redis bekerja sama dan menggunakan strategi berikut untuk menghindari periode nonaktif aplikasi:

  1. Permintaan klien yang masuk diblokir sementara di node utama, sehingga memberikan waktu untuk memastikan replika yang ada 100% disinkronkan dengan node utama.
  2. Replika menyelesaikan proses pemilihan untuk mengambil alih peran utama.
  3. Node utama sebelumnya, yang kini menjadi replika, akan membatalkan pemblokiran permintaan yang ada dan mengalihkannya ke node utama yang baru terpilih menggunakan protokol cluster OSS Redis. Semua permintaan baru yang dikirim ke node replika sebelumnya akan terus dialihkan ke node utama yang baru.
  4. Klien yang kompatibel dengan cluster Redis memperbarui topologinya dalam memori. Endpoint ini mempelajari alamat endpoint utama baru, dan tidak lagi memerlukan pengalihan.

Failover terkoordinasi biasanya memerlukan waktu puluhan milidetik. Namun, total ukuran cluster dapat meningkatkan latensi failover. Demikian juga data dalam proses yang menunggu untuk di-flush ke replika. Ukuran cluster dapat memengaruhi konvergensi di seluruh node utama, yang memengaruhi pengambilan keputusan dalam memilih node utama baru.

Langkah 3: Hapus replika Redis

Langkah terakhir mekanisme buat-sebelum-hapus adalah menghapus node replika pada software sebelumnya. Penghapusan node yang tiba-tiba akan berdampak pada aplikasi klien karena klien menyimpan informasi endpoint dan topologi cluster dalam cache. Memorystore for Redis Cluster telah mendesain penghapusan replika Redis agar berjalan lancar sehingga aplikasi klien dapat memperbarui topologinya sebelum mengalami penonaktifan node yang sulit. Topologi disesuaikan untuk memungkinkan klien mempelajari replika baru. Topologi juga melupakan replika yang akan dihapus sebelum dihapus.

Node replika yang menjalankan software sebelumnya tetap ada selama periode pengurasan tertentu, biasanya dalam urutan menit, yang selama itu node tersebut mulai mengalihkan permintaan baca yang masuk ke node utama shard-nya. Hal ini memungkinkan klien cluster Redis OSS memperbarui topologi cluster dan mempelajari endpoint replika baru. Jika klien mencoba menjangkau node yang dihapus setelah periode pengurasan, upaya tersebut akan gagal, yang pada gilirannya akan memicu refresh topologi cluster pada klien cluster sehingga klien tersebut mengetahui perubahan replika. Refresh baru topologi cluster tidak melihat node replika yang akan dihapus.

Setelan pemeliharaan

Dengan Memorystore, Anda dapat menyesuaikan jadwal pemeliharaan agar sesuai dengan kebutuhan aplikasi Anda dan meminimalkan gangguan. Anda dapat melakukannya dengan mengonfigurasi masa pemeliharaan untuk cluster Anda.

Masa pemeliharaan ditetapkan per cluster Memorystore dan memungkinkan opsi konfigurasi berikut:

  • Hari dalam seminggu. Menentukan hari saat pemeliharaan terjadi.
  • Jam mulai. Jam dimulainya pemeliharaan.

Durasi masa pemeliharaan adalah 1 jam. Perhatikan bahwa dalam beberapa kasus, pemeliharaan dapat melampaui periode yang telah Anda pilih.

Setelah Anda mengonfigurasi masa pemeliharaan untuk cluster, Memorystore for Redis Cluster menjadwalkan pemeliharaan otomatis di masa mendatang sesuai dengan preferensi yang Anda tetapkan untuk masa pemeliharaan.

Masa pemeliharaan default

Jika Anda tidak menetapkan masa pemeliharaan, Memorystore akan mengupdate cluster Anda dalam salah satu periode waktu berikut sesuai dengan zona waktu cluster Anda:

  • Periode hari kerja (Senin sampai Jumat). 22.00 s.d. 06.00

  • Jendela akhir pekan. Jumat, 22.00 hingga Senin, 06.00

Contoh pemeliharaan

Sebagai developer yang mengelola layanan keranjang belanja di retailer, Anda bertanggung jawab untuk mengawasi lingkungan produksi yang mencakup instance Cluster Memorystore untuk Redis. Untuk memastikan performa optimal selama pemeliharaan, Anda harus menjadwalkannya saat cluster mengalami traffic minimal, yang biasanya terjadi sekitar tengah malam pada hari Minggu.

Dalam hal ini, Anda dapat menyetel masa pemeliharaan cluster produksi ke:

  • Hari dalam seminggu. Minggu.
  • Jam mulai. 01.00.

Notifikasi pemeliharaan mendatang

Untuk memastikan Anda tetap mendapatkan informasi tentang peristiwa pemeliharaan di cluster, Anda dapat menyiapkan notifikasi email mengenai pemeliharaan mendatang setidaknya satu minggu sebelum dijadwalkan. Notifikasi ini akan memiliki baris subjek, "Upcoming maintenance for your Cloud Memorystore instance [your-cluster-name]".

Notifikasi juga dikirim saat Pemeliharaan dimulai untuk cluster Anda. Baris subjek email adalah "Maintenance is undergoing for your Cloud Memorystore instance [your-cluster-name]".

Setelah pemeliharaan selesai, notifikasi selesai akan dikirim. Judul emailnya adalah "Completed Maintenance for your Cloud Memorystore instance [your-cluster-name]".

Jika Memorystore menjadwalkan ulang pemeliharaan, Anda akan menerima email yang memberitahukan pembatalan pemeliharaan. Baris subjek email ini adalah "Canceled maintenance for your Cloud Memorystore instance [your-cluster-name]".

Anda harus memilih untuk menerima notifikasi pemeliharaan ini. Untuk mendaftar ke notifikasi pemeliharaan, ikuti langkah-langkah yang diuraikan di bawah ini:

  1. Tetapkan masa pemeliharaan.
  2. Aktifkan notifikasi pemeliharaan.

Untuk menerima notifikasi pemeliharaan dari Memorystore, pastikan Anda telah menyelesaikan langkah-langkah di atas setidaknya satu minggu sebelum update pemeliharaan terjadwal untuk instance Anda. Jika Anda tidak melakukannya, sistem tidak akan memiliki cukup waktu untuk memberi tahu Anda tentang pemeliharaan mendatang.

Notifikasi akan dikirim ke alamat email yang terkait dengan Akun Google Anda. Alias email khusus tidak dapat dikonfigurasi (misalnya, alias email tim). Saat ini, kami tidak mendukung pengiriman notifikasi ke alamat email lain.

Dengan berlangganan notifikasi pemeliharaan, Anda akan menerima pemberitahuan untuk semua cluster Memorystore dengan pemeliharaan terjadwal dalam project tertentu. Jika berlangganan, Anda akan menerima notifikasi terpisah untuk setiap kelompok.

Untuk mengetahui petunjuk tentang cara menemukan pemeliharaan terjadwal, lihat Menemukan pemeliharaan terjadwal.

Menjadwalkan ulang pemeliharaan

Dalam skenario saat masa pemeliharaan dikonfigurasi untuk cluster Anda, bagian ini memberikan panduan tentang cara menjadwalkan ulang pemeliharaan. Misalnya, jika layanan baru dijadwalkan untuk diluncurkan selama masa pemeliharaan saat ini, Anda mungkin ingin menunda masa pemeliharaan hingga beberapa hari setelah peluncuran.

Anda dapat menjadwalkan ulang pemeliharaan dalam waktu 14 hari setelah waktu yang dijadwalkan sebelumnya. Sebagai bagian dari penjadwalan ulang pemeliharaan, pilih salah satu opsi berikut:

  • Perbarui sekarang: alih-alih menunggu masa pemeliharaan terjadwal, Anda dapat segera menerapkan update ke cluster.
  • Hari dan waktu kustom: pilih waktu dalam 14 hari setelah waktu pemeliharaan yang telah dijadwalkan sebelumnya.

Saat menjadwalkan ulang pemeliharaan, batasan berikut berlaku:

  • Jika waktu yang dijadwalkan saat ini kurang dari satu jam sebelum pemeliharaan, Anda tidak dapat menjadwalkan ulang pemeliharaan.
  • Setelah penjadwalan ulang berhasil, email akan dikirim untuk mengonfirmasi pembatalan pemeliharaan sebelumnya, dan notifikasi pemeliharaan mendatang yang baru akan dikirim dengan jadwal yang diperbarui.

Untuk petunjuk tentang cara menjadwalkan ulang pemeliharaan, lihat Menjadwalkan ulang pemeliharaan.

FAQ

Bagian ini berisi pertanyaan umum (FAQ) tentang pemeliharaan untuk Memorystore for Redis Cluster.

Bagaimana cara mengetahui kapan pemeliharaan dijadwalkan untuk cluster Anda?

Untuk mengetahui kapan pemeliharaan dijadwalkan untuk cluster Anda, sebaiknya Anda berlangganan notifikasi dan mengonfigurasi masa pemeliharaan. Anda juga dapat memeriksa cluster secara manual untuk melihat apakah parameter maintenanceSchedule muncul dalam respons.

Kapan Memorystore for Redis Cluster memberi tahu Anda tentang pemeliharaan mendatang?

Jika Anda berlangganan notifikasi pemeliharaan dan menetapkan jendela pemeliharaan, Memorystore for Redis Cluster akan memberi tahu Anda melalui email setidaknya satu minggu sebelum peristiwa pemeliharaan.

Berapa lama Anda dapat menunda pemeliharaan?

Setelah menjadwalkan pemeliharaan untuk cluster, Anda dapat segera memulai update untuk cluster atau menunda update hingga dua minggu dari tanggal dan waktu pemeliharaan yang dijadwalkan semula.

Misalnya, jika Anda menjadwalkan pemeliharaan untuk 11 Oktober pukul 23.15, Anda dapat menunda pemeliharaan hingga 25 Oktober pukul 23.15. Jika Anda tidak mengambil tindakan apa pun, pemeliharaan akan berjalan pada tanggal dan waktu yang dijadwalkan.

Untuk mengetahui informasi selengkapnya, lihat Menjadwalkan ulang pemeliharaan.

Praktik terbaik mana yang menghasilkan pengalaman update pemeliharaan yang lancar?

Untuk memastikan pengalaman update pemeliharaan yang lancar, sebaiknya lakukan hal berikut:

  1. Ikuti petunjuk untuk mengonfigurasi aplikasi klien Anda.
  2. Tetapkan masa pemeliharaan ke hari dan waktu saat cluster Anda mengalami traffic minimal (misalnya, Minggu tengah malam).
  3. Aktifkan notifikasi pemeliharaan. Akibatnya, Memorystore for Redis Cluster akan memberi tahu Anda melalui email setidaknya tujuh hari sebelum update pemeliharaan dijadwalkan untuk cluster Anda.
  4. Jika Anda tidak memiliki jam penggunaan aplikasi yang berdampak rendah atau tidak berdampak, gunakan default layanan peluncuran bertahap. Default ini berisi praktik terbaik untuk update pemeliharaan. Untuk mengetahui informasi selengkapnya, lihat Pemeliharaan terjadwal.

Kapan sebaiknya Anda segera menerapkan update pemeliharaan?

Anda dapat menerapkan update pemeliharaan secara langsung di cluster pengujian untuk melihat dampak update terhadap aplikasi Anda. Anda dapat mengamati dampak yang ditimbulkan oleh update ini. Jika ada masalah dengan update, Anda dapat menunda pemeliharaan pada cluster produksi hingga Anda menyelesaikan masalah tersebut.

Jika hari dan waktu saat ini cocok untuk cluster Anda dan Anda memperkirakan beban tinggi pada cluster Anda di masa mendatang, Anda dapat menjalankan update pemeliharaan segera.

Apakah update pemeliharaan selalu selesai dalam masa pemeliharaan?

Memorystore for Redis Cluster memulai update pemeliharaan di dalam masa pemeliharaan yang Anda tentukan. Memorystore for Redis Cluster biasanya menyelesaikan update dalam jangka waktu tersebut, tetapi tidak selalu demikian.

Dapatkah Anda memilih untuk tidak melakukan pemeliharaan atau menjadwalkan pemeliharaan di cluster tertentu terlebih dahulu?

Anda tidak dapat memilih untuk tidak menerima pemeliharaan atau mengontrol urutan pemeliharaan untuk cluster. Namun, setelah menerima notifikasi pemeliharaan awal, Anda dapat menjadwalkan ulang pemeliharaan untuk menundanya hingga dua minggu.

Langkah berikutnya

  • Lihat izin yang Anda perlukan untuk mengelola periode pemeliharaan cluster Anda.