All Products
Search
Document Center

Microservices Engine:Rilis canary untuk pekerjaan SchedulerX

Last Updated:Mar 12, 2026

Saat memperbarui logika pekerjaan di SchedulerX, penerapan langsung ke seluruh worker berisiko mengganggu beban kerja produksi. SchedulerX mendukung rilis canary berbasis label yang mengarahkan pekerjaan ke sebagian kecil worker untuk validasi sebelum peluncuran penuh.

Cara kerja

Worker SchedulerX melaporkan label ke server melalui heartbeat. Setiap pekerjaan dapat menargetkan worker dengan label tertentu, baik melalui konfigurasi statis maupun pada waktu proses. Pengarahan berbasis label inilah yang menjadi mekanisme di balik rilis canary.

Alur kerjanya:

  1. Tetapkan label ke worker—misalnya, gray untuk canary dan prod untuk produksi.

  2. Arahkan pekerjaan ke worker berlabel gray untuk pengujian.

  3. Verifikasi hasilnya.

  4. Setelah verifikasi berhasil, promosikan perubahan tersebut ke worker berlabel prod.

Pilih pendekatan

PendekatanKapan digunakanRollback
Pekerjaan canary khususPengujian canary berkelanjutan—Anda memerlukan pekerjaan canary tetap yang berjalan bersamaan dengan produksiHapus pekerjaan canary; pekerjaan produksi tetap tidak berubah
Eksekusi canary satu kaliVerifikasi cepat sebelum rilis—uji eksekusi tunggal pada worker canary tanpa menduplikasi pekerjaanTidak perlu rollback; jadwal produksi tidak terpengaruh

Tetapkan label ke worker

Worker harus memiliki label sebelum Anda dapat menggunakan pengarahan berbasis label. SchedulerX mendukung dua metode.

Tetapkan label saat startup aplikasi

Tentukan label melalui konfigurasi Properties. Contoh berikut menggunakan aplikasi Spring Boot:

spring.schedulerx2.label=${label}

Ganti ${label} dengan nilai label target, seperti prod atau gray.

Warisi label dari tag traffic EDAS atau MSE

Jika aplikasi Anda berjalan di Enterprise Distributed Application Service (EDAS) atau Microservices Engine (MSE), pelabelan traffic secara otomatis menerapkan label ke worker SchedulerX. Tidak diperlukan perubahan kode—worker mewarisi label dari tag traffic yang dikonfigurasi di EDAS atau MSE.

Metode ini berguna jika Anda sudah menggunakan peluncuran kanari ujung ke ujung di MSE, karena worker SchedulerX akan mengambil label yang sama tanpa konfigurasi tambahan.

Buat pekerjaan canary khusus

Salin pekerjaan produksi untuk membuat pekerjaan canary terpisah, lalu tetapkan label guna mengisolasi traffic di antara keduanya.

  1. Tambahkan label prod ke pekerjaan produksi.

  2. Salin pekerjaan produksi untuk membuat pekerjaan canary.

  3. Tambahkan label gray ke pekerjaan canary.

  4. Jalankan pekerjaan canary untuk validasi pada worker berlabel gray.

Dedicated canary job workflow

Setelah verifikasi berhasil, perbarui pekerjaan produksi dengan perubahan yang telah divalidasi dan hapus pekerjaan canary.

Jika verifikasi gagal, hapus pekerjaan canary. Pekerjaan produksi tetap berjalan pada worker berlabel prod tanpa gangguan.

Jalankan pengujian canary satu kali

Untuk memverifikasi eksekusi tunggal pada worker canary tanpa menduplikasi pekerjaan, picu secara manual pekerjaan yang ada pada label tertentu di Konsol SchedulerX.

  1. Di Konsol SchedulerX, temukan pekerjaan tersebut.

  2. Pilih run the specified label once dan pilih label gray.

  3. Pekerjaan tersebut dijalankan sekali pada worker berlabel gray. Jadwal produksi reguler tetap berjalan tanpa perubahan pada worker berlabel prod.

One-time canary run

Otomatisasi eksekusi satu kali dengan CI/CD

Gunakan alat integrasi berkelanjutan seperti Jenkins untuk memicu eksekusi canary satu kali secara otomatis. Ini mengintegrasikan verifikasi canary ke dalam pipeline deployment Anda sehingga setiap rilis divalidasi pada worker canary sebelum dipromosikan.

Automated canary run with CI/CD