Bermigrasi ke Azure Cache for Redis

Artikel ini menjelaskan sejumlah pendekatan untuk memigrasikan cache Redis yang sudah ada yang berjalan secara lokal atau di layanan cloud lain ke Azure Cache for Redis.

Skenario migrasi

Redis sumber terbuka dapat berjalan di banyak lingkungan komputasi. Beberapa contoh umum termasuk:

  • Lokal - Cache Redis yang berjalan di pusat data privat.
  • VM berbasis cloud - Cache Redis yang berjalan di VM Azure, AWS EC2, dan sebagainya.
  • Layanan hosting - Layanan Redis Terkelola seperti AWS ElastiCache.

Jika Anda memiliki cache demikian, Anda mungkin dapat memindahkannya ke Azure Cache for Redis dengan gangguan atau waktu henti minimal.

Jika Anda ingin berpindah dari satu wilayah Azure ke wilayah Azure lainnya, kami sarankan Anda melihat artikel Pindahkan Azure Cache untuk Redis kami ke artikel wilayah yang berbeda.

Opsi Migrasi

Ada berbagai cara agar Anda dapat beralih dari satu cache ke cache lainnya. Tergantung di mana cache Anda berada dan bagaimana aplikasi Anda berinteraksi dengannya, satu metode akan lebih berguna daripada yang lain. Beberapa strategi migrasi yang sering digunakan dirinci di bawah ini.

Opsi Kelebihan Kekurangan
Buat file baru Paling sederhana untuk diimplementasikan. Perlu mengisi kembali data ke cache baru, yang mungkin tidak berfungsi dengan banyak aplikasi.
Ekspor dan ompor data melalui file RDB Kompatibel dengan cache Redis umumnya. Beberapa data bisa hilang, jika ditulis ke cache yang ada setelah file RDB dibuat.
Aktifkan tulis ganda pada data ke dua cache Tidak ada data yang hilang atau periode nonaktif. Operasi tanpa gangguan dari cache yang sudah ada. Pengujian cache baru yang lebih mudah. Membutuhkan dua cache untuk jangka waktu yang lama.
Lakukan migrasi data secara terprogram Kontrol penuh terhadap cara data dipindahkan. Membutuhkan kode kustom.

Membuat Azure Cache for Redis

Pendekatan ini secara teknis bukan migrasi. Jika kehilangan data tidak menjadi perhatian, cara termudah untuk berpindah ke Azure Cache for Redis adalah dengan membuat instans cache dan menyambungkan aplikasi Anda ke sana. Misalnya, jika Anda menggunakan Redis sebagai cache look-inside dari catatan database, Anda dapat dengan mudah membangun kembali cache dari awal.

Langkah umum untuk menerapkan opsi ini adalah:

  1. Buat instans Azure Cache for Redis baru.

  2. Perbarui aplikasi Anda untuk menggunakan instans baru.

  3. Hapus instans Redis lama.

Mengekspor data ke file RDB dan mengimpornya ke Azure Cache for Redis

Redis sumber terbuka mendefinisikan mekanisme standar untuk mengambil rekam jepret dari set data dalam memori cache dan menyimpannya ke file. File ini, yang disebut RDB, dapat dibaca oleh cache Redis lain. Azure Cache for Redis tingkat premium mendukung impor data ke dalam instans cache melalui file RDB. Anda dapat menggunakan file RDB untuk mentransfer data dari cache yang sudah ada ke Azure Cache for Redis.

Penting

Format file RDB dapat berubah antara versi Redis dan mungkin tidak mempertahankan kompatibilitas mundur. Versi Redis dari cache yang Anda ekspor harus sama atau kurang dari versi yang disediakan oleh Azure Cache for Redis.

Langkah umum untuk menerapkan opsi ini adalah:

  1. Buat Azure Cache for Redis baru untuk instans Redis di tingkat premium yang berukuran sama dengan (atau lebih besar dari) cache yang sudah ada.

  2. Simpan rekam jepret dari cache Redis yang sudah ada. Anda dapat mengonfigurasi Redis untuk menyimpan rekam jepret secara berkala atau menjalankan proses secara manual menggunakan perintah SIMPAN atau BGSAVE. File RDB diberi nama "dump.rdb" secara default dan akan berlokasi di jalur yang ditentukan dalam file konfigurasi redis.conf.

    Catatan

    Jika Anda memigrasikan data dalam Azure Cache for Redis, lihat instruksi berikut tentang cara mengekspor file RDB atau menggunakan cmdlet Ekspor PowerShell.

  3. Salin file RDB ke akun penyimpanan Azure di wilayah tempat cache baru Anda berada. Anda dapat menggunakan AzCopy untuk tugas ini.

  4. Impor file RDB ke dalam cache baru menggunakan instruksi impor ini atau cmdlet Impor PowerShell.

  5. Perbarui aplikasi Anda untuk menggunakan instans cache baru.

Lakukan operasi tulis ke dua cache Redis secara bersamaan selama periode migrasi

Daripada memindahkan data langsung di antara cache, Anda dapat menggunakan aplikasi Anda untuk menulis data ke cache yang sedang Anda siapkan, baik yang sudah ada maupun yang baru. Aplikasi masih akan membaca data dari cache yang ada pada awalnya. Ketika cache baru memiliki data yang diperlukan, Anda mengalihkan aplikasi ke cache tersebut dan berhenti dari yang sebelumnya. Misalnya, Anda menggunakan Redis sebagai penyimpanan sesi dan sesi aplikasi berlaku selama tujuh hari. Setelah melakukan operasi tulis ke dua cache selama seminggu, Anda akan yakin cache baru terdiri dari semua informasi sesi yang tidak kedaluwarsa. Anda dapat dengan aman mengandalkan cache baru tersebut dari saat itu dan seterusnya tanpa khawatir akan kehilangan data.

Langkah umum untuk menerapkan opsi ini adalah:

  1. Buat Azure Cache for Redis baru untuk instans Redis di tingkat premium yang berukuran sama dengan (atau lebih besar dari) cache yang sudah ada.

  2. Ubah kode aplikasi untuk menulis ke instans baru dan asli.

  3. Lanjutkan membaca data dari instans asli hingga instans baru cukup diisi dengan data.

  4. Perbarui kode aplikasi untuk membaca dan menulis dari instans baru saja.

  5. Hapus instans asli.

Melakukan migrasi secara terprogram

Anda dapat membuat proses migrasi kustom dengan membaca data secara terprogram dari cache yang sudah ada dan menulisnya ke dalam Azure Cache for Redis. Alat sumber terbuka ini dapat digunakan untuk menyalin data dari satu Azure Cache for Redis ke yang lain. Versi yang dikompilasi juga tersedia. Anda juga dapat menemukan kode sumber untuk menjadi panduan yang berguna untuk menulis alat migrasi Anda sendiri.

Catatan

Alat ini tidak didukung secara resmi oleh Microsoft.

Langkah umum untuk menerapkan opsi ini adalah:

  1. Buat VM pada wilayah tempat cache yang sudah ada ditempatkan. Jika Anda memiliki himpunan data yang besar, pilih VM yang relatif andal untuk mengurangi waktu penyalinan.

  2. Buat instans Azure Cache for Redis baru.

  3. Hapus data dari cache baru untuk memastikan bahwa cache kosong. Langkah ini diperlukan karena alat salin itu sendiri tidak menimpa kunci yang sudah ada di cache target.

    Penting

    Pastikan untuk TIDAK melakukan pengosongan dari cache sumber.

  4. Gunakan aplikasi seperti alat sumber terbuka di atas untuk mengotomatiskan penyalinan data dari cache sumber ke target. Ingat bahwa proses penyalinan bisa memakan waktu cukup lama untuk diselesaikan tergantung ukuran himpunan data Anda.

Langkah berikutnya

Pelajari selengkapnya tentang fitur Azure Cache for Redis.