ApsaraMQ for RabbitMQ memungkinkan Anda mengubah arsitektur penerapan instans selama operasi peningkatan dan penurunan, sehingga mendukung konversi antara kluster bersama dan kluster khusus. Topik ini menjelaskan kondisi serta dampak potensial dari operasi tersebut.
Instans bersama dan instans khusus
ApsaraMQ for RabbitMQ menyediakan arsitektur penerapan instans berikut untuk setiap seri:
Seri | Instans bersama | Instans khusus |
Seri subscription | Edisi Profesional, Edisi Perusahaan | Edisi Platinum |
Seri Serverless | Shared | Dedicated |
Kondisi
Instans dari seri yang berbeda tidak mendukung konversi. Namun, spesifikasi berbeda dalam seri instans yang sama mendukung peningkatan dan penurunan yang lancar.
Instans subscription lama mungkin mengalami error selama peningkatan atau penurunan. Jika Anda tidak dapat melakukan peningkatan atau penurunan, submit a ticket untuk mendapatkan bantuan.
Hanya instans yang dalam layanan yang dapat menjalani operasi peningkatan atau penurunan.
Prosedur migrasi
Konversi instans melibatkan jenis-jenis migrasi berikut:
Migrasi kluster
Upgrade
Saat sebuah instans bermigrasi dari kluster bersama ke kluster khusus, kluster baru dibuat dan menjadi kluster tujuan untuk migrasi.
Downgrade
Saat sebuah instans bermigrasi dari kluster khusus ke kluster bersama, kluster bersama langsung berfungsi sebagai kluster tujuan untuk migrasi.
Migrasi penyimpanan
Fase dual-write dan dual-read: Routing baca/tulis dibentuk pada kluster tujuan. Baik kluster sumber maupun kluster tujuan dapat dibaca dan ditulis.
Fase single-write dan dual-read: Kluster sumber tidak lagi menerima tulisan tetapi tetap dapat dibaca. Kluster tujuan dapat dibaca dan ditulis.
Fase menunggu penyelesaian konsumsi kluster sumber: Sistem menunggu hingga kluster sumber selesai mengonsumsi pesan. Jika kluster sumber memiliki pesan yang menumpuk menunggu dikonsumsi atau pesan terjadwal yang belum kedaluwarsa, fase ini akan memakan waktu lebih lama.
Fase single-write dan single-read kluster tujuan: Setelah semua pesan di kluster sumber dikonsumsi, kluster sumber tidak lagi menerima bacaan atau tulisan. Semua pengiriman dan konsumsi diarahkan melalui kluster tujuan, dan migrasi selesai.
Migrasi koneksi
Titik akses VPC / Titik akses jaringan publik
Migrasi kluster bersama ke kluster khusus
Sisi server tidak secara aktif memigrasikan koneksi. Setelah migrasi instans dimulai, semua koneksi baru terhubung langsung ke kluster tujuan. Namun, sisi server tidak secara aktif memutus koneksi yang sudah ada (yaitu koneksi yang telah dibentuk pada kluster sumber sebelum migrasi). Untuk memastikan semua koneksi menggunakan kluster baru, restart aplikasi Anda agar terhubung ulang.
Migrasi balik kluster khusus ke kluster bersama
Karena kluster khusus harus dicabut, sisi server secara aktif memutus koneksi yang ada pada kluster sumber. Jika client dikonfigurasi untuk koneksi ulang otomatis, koneksi tersebut akan terhubung kembali ke kluster tujuan, menyelesaikan migrasi koneksi.
Titik akhir PrivateLink
Semua koneksi yang menggunakan titik akhir PrivateLink mengalami pemutusan selama beberapa menit selama migrasi instans.
Dampak migrasi
Saat kluster khusus bermigrasi kembali ke kluster bersama, koneksi diputus secara aktif. Lakukan migrasi selama jam sepi dan pastikan mekanisme koneksi ulang yang andal. Untuk konfigurasi koneksi ulang, lihat Configure automatic client reconnection.
Untuk koneksi yang menggunakan titik akses VPC atau titik akses jaringan publik, saat kluster bersama bermigrasi ke kluster khusus, koneksi yang sudah ada hanya akan bermigrasi dan terhubung ulang ke kluster tujuan setelah aplikasi atau sisi server direstart (misalnya selama upgrade kluster sumber). Upgrade kluster sumber atau tindakan serupa dapat menyebabkan pemutusan koneksi yang tidak terduga. Untuk sepenuhnya beralih ke kluster tujuan, restart aplikasi Anda selama jam sepi guna menyelesaikan koneksi ulang.
Untuk koneksi yang menggunakan titik akhir PrivateLink, terjadi pemutusan selama beberapa menit selama migrasi instans. Lakukan migrasi selama jam sepi dan pastikan mekanisme koneksi ulang yang andal.
Jika kluster sumber berisi pesan stack yang menunggu konsumsi atau pesan tidak terjadwal yang belum kedaluwarsa, fase migrasi penyimpanan akan memerlukan waktu lebih lama.