Menjalankan versi broker yang sudah usang membuat infrastruktur messaging Anda rentan terhadap bug yang belum diperbaiki dan kehilangan optimasi terbaru. ApsaraMQ for RocketMQ secara otomatis memperbarui broker Anda ke versi terbaru selama jendela pemeliharaan yang dapat dikonfigurasi, sehingga instans Anda tetap mutakhir tanpa intervensi manual. Pengiriman dan penerimaan pesan tetap berlangsung selama proses pembaruan.
Sesuaikan jendela pemeliharaan dan jadwal pembaruan agar selaras dengan pola lalu lintas Anda serta meminimalkan gangguan.
Edisi yang didukung
Manajemen versi hanya tersedia untuk instans Edisi Enterprise Platinum.
Cara kerja
Format nomor versi
ApsaraMQ for RocketMQ menggunakan format x.y-rmq-yyyymmdd:
| Segmen | Makna | Contoh |
|---|---|---|
x.y | Sesuai dengan versi open-source Apache RocketMQ x.y.z, di mana z adalah patch terbaru | 5.1 dipetakan ke Apache RocketMQ 5.1.z |
yyyymmdd | Tanggal rilis ApsaraMQ for RocketMQ. Setiap rilis mencakup perubahan fitur, optimasi, dan perbaikan bug | 20230329 |
Contoh pembaruan:
5.0-rmq-20230329ke5.1-rmq-20230329— peningkatan versi open-source5.0-rmq-20230329ke5.0-rmq-20230411— pembaruan patch ApsaraMQ for RocketMQ
Untuk detail setiap rilis, lihat Catatan rilis ApsaraMQ for RocketMQ 5.x.
Aturan pembaruan
| Properti | Detail |
|---|---|
| Metode pembaruan | Otomatis. Sistem membuat tugas pembaruan saat versi baru diumumkan. |
| Versi target | Selalu versi terbaru yang tersedia, terlepas dari jumlah versi antara yang ada. |
| Masa berlaku versi | Setiap versi didukung selama 6 bulan. |
| Rollback | Tidak didukung. Setelah pembaruan selesai, instans tidak dapat kembali ke versi sebelumnya. |
Penjadwalan tugas pembaruan
| Properti | Detail |
|---|---|
| Waktu terjadwal | Awal jendela pemeliharaan terdekat pada tanggal rilis |
| Batas waktu | Tujuh hari setelah waktu terjadwal |
| Pembuatan tugas | Segera setelah pengumuman pembaruan dirilis |
| Dapat dibatalkan | Tidak |
| Dapat dijadwalkan ulang | Ya |
Jendela pemeliharaan
Jendela pemeliharaan mengatur kapan pembaruan otomatis dijalankan.
Jendela default: 02:00 – 06:00.
Untuk menyesuaikan jendela, lihat Ubah jendela pemeliharaan.
Jendela yang diubah hanya berlaku untuk tugas pembaruan yang dibuat setelah perubahan tersebut. Tugas tertunda yang sudah ada tetap menggunakan jadwal aslinya.
Jika waktu mulai dan waktu akhir identik, pembaruan dapat dijalankan kapan saja pada hari tersebut.
Jika waktu akhir lebih awal daripada waktu mulai, jendela tersebut mencakup tengah malam. Misalnya, mulai
11:00/ akhir02:00berarti pembaruan dapat dijalankan antara pukul 11:00 hari ini hingga pukul 02:00 hari berikutnya.
Dampak pembaruan dan persiapan
Tinjau dampak berikut dan siapkan aplikasi Anda sebelum pembaruan dijalankan.
Durasi dan konektivitas
Sebagian besar pembaruan selesai dalam waktu 30 menit. Jika pembaruan melebihi durasi ini, submit a ticket. Pengguna Edisi Enterprise Platinum juga dapat melaporkan masalah di grup DingTalk.
Broker melakukan restart secara batch selama pembaruan. Klien mungkin mengalami rekoneksi singkat, tetapi pesan tetap dapat dikirim dan diterima.
Pengiriman pesan duplikat
Pesan mungkin dikonsumsi lebih dari sekali selama pembaruan. Pastikan konsumen Anda menangani duplikat secara elegan dengan menerapkan konsumsi idempoten. Untuk panduan, lihat Message idempotence.
Operasi yang dibatasi selama pembaruan
Saat pembaruan sedang berlangsung, operasi berikut diblokir:
| Operasi yang diblokir | Alternatif yang tersedia |
|---|---|
| Unsubscribe from instance | Tunggu hingga pembaruan selesai. Lihat Unsubscription process. |
| Release instance | Tunggu hingga pembaruan selesai. Lihat Release an instance. |
| Downgrade or upgrade configurations | Tunggu hingga pembaruan selesai. Lihat Modify instance configurations. |
| Create or delete topics and other resources | Hindari operasi manajemen resource di Konsol selama pembaruan. |
Catatan: Renewal tetap tersedia selama pembaruan. Lihat Renew an instance.
Tidak ada rollback setelah selesai
Setelah pembaruan selesai, instans tidak dapat kembali ke versi sebelumnya. Verifikasi bahwa aplikasi Anda kompatibel dengan versi broker terbaru sebelum pembaruan terjadwal.
Persiapan untuk pembaruan
Ikuti praktik berikut untuk meminimalkan gangguan selama pembaruan versi:
Jadwalkan pembaruan selama jam sepi. Sesuaikan jendela pemeliharaan ke periode dengan trafik rendah untuk mengurangi dampak rekoneksi sementara.
Terapkan konsumsi idempoten. Karena pesan mungkin dikirim lebih dari sekali selama pembaruan, rancang konsumen agar dapat menangani duplikat. Lihat Message idempotence.
Hentikan sementara perubahan resource selama pembaruan. Jangan membuat, menghapus, atau memodifikasi topik dan resource lain saat pembaruan sedang berjalan.
Verifikasi kompatibilitas aplikasi. Uji aplikasi Anda terhadap versi broker baru sebelum pembaruan terjadwal, karena rollback tidak didukung.
Jadwalkan ulang tugas pembaruan
Ubah waktu pelaksanaan tugas pembaruan yang tertunda.
Masuk ke Konsol ApsaraMQ for RocketMQ. Di panel navigasi kiri, klik Instances.
Di bilah navigasi atas, pilih wilayah, seperti China (Hangzhou). Di halaman Instances, klik nama instans yang ingin Anda kelola.
Di halaman Instance Details, klik tab Version Management.
Klik tab Pending Tasks.
Temukan tugas pembaruan dan klik Change Time di kolom Actions.
Di panel Modify Pending Task Update Time, atur Newly Scheduled Update Time dan klik OK.
Setelah menjadwalkan ulang, pastikan tab Pending Tasks menampilkan waktu eksekusi baru untuk tugas tersebut.
Ubah jendela pemeliharaan
Atur rentang waktu saat pembaruan otomatis dijalankan.
Catatan: Jendela baru hanya berlaku untuk tugas pembaruan yang dibuat setelah perubahan. Tugas tertunda yang sudah ada tetap menggunakan jadwal aslinya. Untuk mengubah waktu tugas yang sudah ada, lihat Jadwalkan ulang tugas pembaruan.
Masuk ke Konsol ApsaraMQ for RocketMQ. Di panel navigasi kiri, klik Instances.
Di bilah navigasi atas, pilih wilayah, seperti China (Hangzhou). Di halaman Instances, klik nama instans yang ingin Anda kelola.
Di halaman Instance Details, klik tab Version Management. Di pojok kanan atas, klik Update Configuration.
Di panel Modify Version Update Configurations, atur jendela pemeliharaan baru dan klik OK.
Setelah menyimpan, kembali ke tab Version Management dan pastikan jendela pemeliharaan yang ditampilkan sesuai dengan nilai yang telah Anda konfigurasi.
Topik terkait
Catatan rilis ApsaraMQ for RocketMQ 5.x — Tinjau perubahan pada setiap versi broker.
Message idempotence — Terapkan konsumsi idempoten untuk menangani pesan duplikat selama pembaruan.
Renew an instance — Perpanjang masa berlaku instans, yang tetap tersedia selama pembaruan.