Tentang pemeliharaan

Halaman ini menjelaskan cara Memorystore for Redis Cluster melakukan pemeliharaan pada cluster. Fitur ini juga memberikan informasi dan rekomendasi konfigurasi yang harus diketahui oleh aplikasi klien Anda untuk memanfaatkan desain pemeliharaan tanpa periode nonaktif Memorystore for Redis Cluster. Rekomendasi ini berlaku untuk cluster dengan tingkat 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 cluster untuk memastikan bahwa layanan ini andal, berperforma tinggi, aman, dan terbaru. Update ini disebut pemeliharaan. Pemeliharaan dikelola sepenuhnya oleh layanan dan dirancang untuk tidak menimbulkan dampak 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 untuk cluster di luar yang disediakan Redis.

Memorystore for Redis Cluster tidak otomatis mengupdate cluster untuk setiap rilis pemeliharaan. Untuk menentukan waktu terbaik dalam menjadwalkan pemeliharaan komprehensif, Google Cloud mengevaluasi update yang tersedia secara berkala. Jika Anda memerlukan versi pemeliharaan tertentu lebih cepat, Anda dapat menggunakan pemeliharaan mandiri setelah update tersedia. Untuk mengetahui informasi selengkapnya tentang versi pemeliharaan, termasuk nomor dan detail versi pemeliharaan, lihat Log perubahan pemeliharaan Memorystore for Redis Cluster.

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 Redis OSS 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 pembaruan topologi inline berkala dan rotasi koneksi latar belakang.
  2. Uji aplikasi klien Anda dengan serangkaian operasi update (seperti penskalaan naik atau turun, perubahan jumlah replika) saat menjalankan workload yang representatif pada node utama dan replika, serta memantau dampak klien. Update ini menguji logika refresh topologi inline pada klien, dampak sinkronisasi penuh, penemuan node baru, dan kemampuan penghapusan node yang ada. Pengujian membantu memastikan bahwa klien 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-hancurkan untuk menghindari dampak periode nonaktif yang disebabkan oleh pemeliharaan. Pemeliharaan tanpa periode nonaktif dicapai dengan menggunakan kemampuan pengalihan permintaan protokol Redis dengan mekanisme Memorystore berikut:

  1. Failover terkoordinasi tanpa kehilangan data.
  2. Penghapusan node yang lancar untuk memungkinkan klien mengikuti update topologi cluster tanpa dampak 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 semakin meningkat, dan pada tingkat yang memungkinkan deteksi kegagalan cukup awal untuk mengurangi dampak dan membangun keyakinan stabilitas. Waktu bake (waktu saat update diterapkan dan dipantau sebelum dianggap berhasil dan dilanjutkan) diintegrasikan di seluruh fleet cluster Memorystore pada skala layanan. Selain itu, waktu tunggu diintegrasikan dalam cluster di seluruh zona dalam suatu region (beberapa domain kesalahan) untuk mengurangi cakupan dampak, jika ada.

Untuk cluster yang dikonfigurasi untuk ketersediaan tinggi, maksimal 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 diupdate pada waktu tertentu. Update menggunakan mekanisme siklus proses buat-sebelum-hancurkan untuk memaksimalkan stabilitas cluster. Strategi ini memberikan manfaat paling besar saat mengupdate cluster dengan banyak shard. Hanya menerapkan update ke sebagian kecil dari keseluruhan keyspace pengguna pada waktu tertentu akan memaksimalkan ketersediaan data.

Strategi siklus proses buat-sebelum-hancurkan

Cluster Redis memiliki beberapa shard. Setiap shard memiliki satu node utama dan nol atau lebih node replika. Memorystore menggunakan proses berikut untuk mengupdate node Redis utama atau replika yang ada dalam 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 dalam cluster.

Strategi buat-sebelum-hancurkan membantu mempertahankan kapasitas yang disediakan dari cluster, dibandingkan dengan deployment berkelanjutan standar yang diupdate di tempat, tetapi mengakibatkan pemadaman 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 create-before-destroy adalah menambahkan node replika dengan software terbaru menggunakan mekanisme Redis OSS sinkronisasi penuh untuk menyalin data dari node utama ke node replika. Hal ini dilakukan dengan melakukan fork pada proses turunan dan memanfaatkan replikasi tanpa disk untuk melakukan bootstrap pada 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 keyspace 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: Failover 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 periode 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, membatalkan pemblokiran permintaan yang ada dan mengalihkannya ke node utama yang baru dipilih menggunakan protokol cluster Redis OSS. Setiap permintaan baru yang dikirim ke node replika sebelumnya akan terus dialihkan ke node utama baru.
  4. Klien yang kompatibel dengan Redis Cluster akan memperbarui topologi dalam memorinya. Aplikasi ini mempelajari alamat endpoint utama baru, dan tidak lagi memerlukan pengalihan.

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

Langkah 3: Menghapus replika Redis

Langkah terakhir dari mekanisme buat-sebelum-hancurkan adalah menghapus node replika pada software sebelumnya. Penghapusan node yang tiba-tiba akan berdampak pada aplikasi klien karena klien meng-cache informasi endpoint dan topologi cluster. Memorystore for Redis Cluster telah merancang penghapusan replika Redis dengan baik agar aplikasi klien dapat memperbarui topologinya sebelum mengalami penonaktifan node secara paksa. Topologi disesuaikan untuk memungkinkan klien mempelajari replika baru. Topologi juga melupakan replika yang akan dihapus sebelum dihapus.

Node replika yang menjalankan software sebelumnya disimpan selama periode pengosongan tertentu, biasanya dalam hitungan menit, dan selama periode tersebut, node replika mulai mengalihkan permintaan baca yang masuk ke node utama shard-nya. Hal ini memungkinkan klien cluster memperbarui topologi cluster dan mempelajari endpoint replika baru. Jika klien mencoba menjangkau node yang dihapus setelah periode pengosongan, upaya tersebut akan gagal, yang pada akhirnya akan memicu pemuatan ulang topologi cluster pada klien cluster sehingga klien mengetahui perubahan replika. Pemuatan ulang baru topologi cluster tidak melihat node replika yang akan dihapus.

Setelan pemeliharaan

Dengan Memorystore, Anda dapat menyesuaikan jadwal pemeliharaan agar selaras dengan kebutuhan aplikasi 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. Menentukan hari saat pemeliharaan dilakukan.
  • Jam mulai. Jam dimulainya pemeliharaan.

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

Setelah Anda mengonfigurasi masa pemeliharaan untuk cluster, Memorystore for Redis Cluster akan 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 memperbarui cluster Anda dalam salah satu rentang waktu berikut sesuai dengan zona waktu cluster Anda:

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

  • Masa pemeliharaan 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 cluster. Untuk memastikan performa yang optimal selama pemeliharaan, Anda ingin 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. Minggu.
  • Jam mulai. 01.00.

Notifikasi pemeliharaan mendatang

Untuk memastikan Anda tetap mendapatkan informasi tentang peristiwa pemeliharaan di cluster, Anda dapat menyiapkan notifikasi email terkait 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 akan menjadi "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 memberi tahu Anda tentang pembatalan pemeliharaan. Baris subjek email ini akan menjadi "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 berikut:

  1. Menetapkan masa pemeliharaan.
  2. Aktifkan notifikasi pemeliharaan.

Untuk menerima notifikasi pemeliharaan dari Memorystore, pastikan Anda telah menyelesaikan langkah-langkah ini setidaknya satu minggu sebelum update pemeliharaan terjadwal untuk cluster Anda. Jika Anda gagal melakukannya, Memorystore for Redis Cluster tidak akan memiliki cukup waktu untuk memberi tahu Anda tentang pemeliharaan mendatang.

Memorystore for Redis Cluster mengirimkan notifikasi ke alamat email yang terkait dengan akun Google Anda. Anda tidak dapat mengonfigurasi alias email khusus (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 yang ditentukan. Jika berlangganan, Anda akan menerima notifikasi terpisah untuk setiap cluster.

Untuk mengetahui petunjuk 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 dari waktu yang dijadwalkan sebelumnya. Sebagai bagian dari penjadwalan ulang pemeliharaan, pilih salah satu opsi berikut:

  • Update sekarang: Anda dapat segera menerapkan update ke cluster, tanpa harus menunggu masa pemeliharaan terjadwal.
  • Hari dan waktu kustom: pilih waktu dalam 14 hari dari waktu pemeliharaan yang dijadwalkan semula.

Saat menjadwalkan ulang pemeliharaan, batasan berikut berlaku:

  • Jika waktu yang tersisa kurang dari satu jam sebelum waktu pemeliharaan terjadwal saat ini, 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 mengetahui 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 masa 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 sebelumnya.

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

Untuk mengetahui informasi selengkapnya, lihat Menjadwalkan ulang pemeliharaan.

Praktik terbaik manakah 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. Oleh karena itu, 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 segera menerapkan update pemeliharaan pada cluster pengujian untuk melihat dampak update terhadap aplikasi Anda. Anda dapat mengamati dampak dari update ini. Jika ada masalah dengan update, Anda dapat menunda pemeliharaan pada cluster produksi hingga masalah tersebut diselesaikan.

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

Apakah update pemeliharaan selalu selesai dalam masa pemeliharaan?

Memorystore for Redis Cluster memulai update pemeliharaan dalam masa pemeliharaan yang Anda tentukan. Memorystore for Redis Cluster biasanya menyelesaikan update dalam periode waktu tertentu, tetapi hal ini tidak selalu terjadi.

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

Anda tidak dapat memilih untuk tidak melakukan pemeliharaan atau mengontrol urutan pemeliharaan untuk cluster Anda. 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 masa pemeliharaan cluster.