Tentang pemeliharaan

Halaman ini menjelaskan cara Memorystore for Redis Cluster melakukan pemeliharaan pada instance. Selain itu, fitur ini 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, sebaiknya gunakan 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) sambil menjalankan beban kerja representatif pada node utama dan replika, serta memantau dampak klien. Update 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 proses turunan dan memanfaatkan replikasi tanpa disk untuk mem-bootstrap replika.

Anda dapat memanfaatkan arsitektur penskalaan 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 mengarahkannya 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 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 berat. Topologi disesuaikan untuk memungkinkan klien mempelajari replika baru. Topologi juga melupakan replika yang akan dihapus sebelum dihapus.

Node replika yang menjalankan software versi 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 mempelajari 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 masa pemeliharaan dikonfigurasi untuk instance cluster, pemeliharaan otomatis di masa mendatang akan dijadwalkan sesuai dengan preferensi yang ditetapkan 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 sebaiknya 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 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 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 tersebut. 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. Pilih untuk menerima 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 cluster.

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 sesering yang Anda inginkan dalam waktu dua minggu dari waktu yang dijadwalkan sebelumnya. Anda dapat memilih salah satu opsi berikut saat menjadwalkan ulang:

  • Perbarui sekarang. Daripada menunggu masa pemeliharaan terjadwal, Anda dapat segera menerapkan update ke cluster.
  • Hari dan waktu kustom. Opsi ini memungkinkan Anda memilih waktu tertentu dalam dua minggu dari waktu pemeliharaan yang telah dijadwalkan sebelumnya.

Saat menjadwalkan ulang pemeliharaan, batasan berikut berlaku:

  • Jika waktu yang tersisa kurang dari satu jam sebelum waktu pemeliharaan yang dijadwalkan 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 petunjuk tentang cara menjadwalkan ulang pemeliharaan, lihat Menjadwalkan ulang pemeliharaan.

FAQ

Berikut adalah beberapa pertanyaan umum (FAQ) tentang kebijakan pemeliharaan untuk Memorystore for Redis Cluster:

Bagaimana cara mengetahui kapan pemeliharaan dijadwalkan untuk cluster saya?

Sebaiknya Anda berlangganan notifikasi dan mengonfigurasi masa pemeliharaan untuk mengetahui kapan pemeliharaan dijadwalkan untuk instance Anda. Anda juga dapat memeriksa secara manual menggunakan Find Scheduled Maintenance untuk melihat apakah kolom maintenance_schedule ditetapkan dalam respons.

Kapan saya akan diberi tahu tentang pemeliharaan mendatang?

Jika Anda berlangganan notifikasi pemeliharaan dan telah menetapkan periode pemeliharaan, Anda akan menerima notifikasi melalui email setidaknya 1 minggu sebelum peristiwa pemeliharaan.

Berapa lama saya dapat menunda pemeliharaan?

Setelah pemeliharaan dijadwalkan untuk cluster, Anda dapat segera memulai update untuk instance atau menunda update hingga 2 minggu dari waktu pemeliharaan yang dijadwalkan semula. Misalnya, jika pemeliharaan dijadwalkan pada 11 Oktober pukul 23. 15, Anda dapat menunda hingga 25 Oktober pukul 23. 15. Pemeliharaan akan diterapkan pada waktu yang dijadwalkan jika tidak ada tindakan yang diambil.

Untuk mengetahui detail selengkapnya, lihat Menjadwalkan ulang pemeliharaan.

Apa praktik terbaik yang harus saya ikuti untuk mendapatkan pengalaman update pemeliharaan yang lancar?

Sebaiknya Anda melakukan tindakan berikut untuk memastikan pengalaman update pemeliharaan yang lancar:

  1. Ikuti petunjuk untuk mengonfigurasi aplikasi klien Anda
  2. Anda harus menetapkan masa pemeliharaan ke waktu yang memastikan pemeliharaan tidak diterapkan pada jam sibuk penggunaan Redis Anda.
  3. Anda harus mengaktifkan notifikasi pemeliharaan agar diberi tahu melalui email setidaknya tujuh hari sebelum update pemeliharaan dijadwalkan untuk instance Anda.
  4. Jika Anda tidak memiliki jam penggunaan aplikasi yang berdampak rendah atau tidak berdampak, sebaiknya gunakan default layanan peluncuran bertahap yang memiliki praktik terbaik. Untuk mengetahui informasi selengkapnya, lihat Pemeliharaan terjadwal.

Kapan saya harus segera menerapkan pemeliharaan?

Salah satu skenario saat Anda dapat menerapkan update pemeliharaan segera adalah pada cluster pengujian untuk melihat dampaknya terhadap aplikasi Anda. Dengan begitu, Anda dapat mengamati dampaknya, dan menunda pemeliharaan pada cluster produksi sesuai kebutuhan/izin.

Anda juga dapat segera menjadwalkan pemeliharaan jika waktu saat ini cocok untuk cluster Anda dan Anda memperkirakan beban tinggi pada cluster Anda di masa mendatang.

Apakah update pemeliharaan selalu selesai dalam masa pemeliharaan?

Update dimulai dalam masa pemeliharaan yang Anda tentukan. Update biasanya selesai dalam jangka waktu tersebut, tetapi hal ini tidak dijamin.

Dapatkah saya menonaktifkan pemeliharaan atau menjadwalkan pemeliharaan pada cluster tertentu terlebih dahulu?

Tidak, Anda tidak dapat memilih untuk tidak mengikuti pemeliharaan atau mengontrol urutan pemeliharaan untuk cluster Anda. Namun, setelah Anda mendapatkan notifikasi pemeliharaan awal, Anda dapat menjadwalkan ulang pemeliharaan untuk menundanya hingga 2 minggu.

Langkah berikutnya

  • Lihat izin yang diperlukan untuk mengelola masa pemeliharaan cluster Redis Anda.