SchedulerX secara acak menetapkan mesin untuk menjalankan pekerjaan. Ketika beberapa mesin menjalankan kelas implementasi pekerjaan yang berbeda—misalnya untuk rilis canary atau uji stres—penetapan acak tersebut dapat mengarahkan pekerjaan ke mesin yang tidak memiliki kelas yang diperlukan.
Tag mengatasi masalah ini. Daftarkan tag pada agen SchedulerX, lalu pilih tag tersebut saat mengonfigurasi pekerjaan di konsol. Pekerjaan tersebut hanya akan berjalan di mesin-mesin yang memiliki tag yang sesuai, sementara semua mesin tetap berada dalam kelompok aplikasi yang sama.
Mengapa menggunakan tag alih-alih kelompok aplikasi terpisah
Solusi alternatif tradisional adalah membuat kelompok aplikasi khusus untuk mesin rilis canary atau uji stres. Pendekatan ini memiliki dua kelemahan:
Sumber daya terbuang. Pekerjaan normal tidak dapat berjalan di mesin dalam kelompok canary, bahkan ketika mesin tersebut menganggur. Karena traffic canary biasanya rendah, mesin yang didedikasikan menjadi kurang dimanfaatkan.
Alur kerja promosi yang rumit. Setelah rilis canary lolos validasi, Anda harus membuat duplikat pekerjaan di kelompok asal dan menghapus pekerjaan canary, alih-alih mempromosikan pekerjaan yang sudah ada.
Dengan tag, semua mesin tetap berada dalam kelompok aplikasi yang sama. Pekerjaan normal terus berjalan di semua mesin, sedangkan pekerjaan bertag hanya berjalan di mesin yang Anda tentukan. Setelah rilis canary lolos, hapus tag tersebut dan perubahan langsung berlaku—tanpa perlu membuat atau menghapus pekerjaan.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Aplikasi Spring Boot yang terhubung ke SchedulerX. Untuk petunjuk penyiapan, lihat Hubungkan aplikasi Spring Boot ke SchedulerX
Akses ke konsol SchedulerX
Langkah 1: Daftarkan tag pada agen SchedulerX
Tambahkan properti spring.schedulerx2.label ke file konfigurasi Spring Boot Anda. Contoh berikut menunjukkan file application.properties dengan tag diatur ke gray:
# Pengaturan koneksi SchedulerX (sudah dikonfigurasi)
spring.schedulerx2.endpoint=<your-endpoint>
spring.schedulerx2.namespace=<your-namespace>
spring.schedulerx2.groupId=<your-group-id>
spring.schedulerx2.appKey=<your-app-key>
# Beri tag mesin ini untuk pekerjaan rilis canary
spring.schedulerx2.label=grayGanti gray dengan string apa pun yang menggambarkan peran mesin tersebut, seperti canary, stress-test, atau staging.
Setelah aplikasi dijalankan, agen secara otomatis mendaftarkan tag ini ke SchedulerX.
Langkah 2: Verifikasi pendaftaran tag
Masuk ke konsol MSE SchedulerX.
Masuk ke konsol SchedulerX.
Di panel navigasi sebelah kiri, klik Task Scheduling (SchedulerX).
Di bilah navigasi atas, pilih wilayah.
Di panel navigasi sebelah kiri, klik Application Management.
Pada halaman Application Management, temukan aplikasi Anda dan klik View Instances di kolom Operation.
Di panel Connect to an instance, periksa kolom tag. Nilai tag yang Anda konfigurasi (misalnya,
gray) akan muncul di samping instans yang sesuai.
Catatan: Jika kolom tag kosong, pastikan aplikasi telah di-restart setelah Anda menambahkan properti spring.schedulerx2.label.Langkah 3: Arahkan pekerjaan ke mesin bertag
Masuk ke konsol MSE SchedulerX.
Di panel navigasi sebelah kiri, klik Jobs.
Pada halaman Task Management, temukan pekerjaan target dan klik more di kolom Operation.
Klik Specify machine.
Pada halaman Specify machine, atur Named Types ke tag.
Pilih mesin yang ingin Anda gunakan untuk menjalankan pekerjaan, lalu klik OK.
Pekerjaan tersebut kini hanya berjalan di mesin bertag yang dipilih.
Hapus tag setelah rilis canary
Setelah rilis canary lolos validasi dan kelas implementasi pekerjaan baru tersedia di semua mesin:
Bersihkan spesifikasi mesin di konsol: buka halaman Specify machine untuk pekerjaan tersebut dan hapus penetapan tag. Perubahan ini berlaku secara dinamis.
Opsional, hapus properti
spring.schedulerx2.labeldari konfigurasi aplikasi dan restart aplikasi.
Definisi pekerjaan yang sama berfungsi di semua mesin setelah pembatasan tag dihapus.