Tugas berbasis peristiwa memantau metrik grup penskalaan Anda secara real-time dan secara otomatis mengeksekusi aturan penskalaan ketika ambang batas peringatan terlampaui—menambahkan instans saat terjadi lonjakan lalu lintas dan menghapusnya ketika permintaan turun.
Cara kerja
Tugas berbasis peristiwa mengintegrasikan Auto Scaling dengan CloudMonitor. Ketika metrik yang dipantau melewati ambang batas peringatan, Auto Scaling mengeksekusi aturan penskalaan yang dilampirkan pada tugas tersebut—melakukan scaling out untuk menambah kapasitas atau scaling in untuk melepaskannya. Metrik dikumpulkan secara terus-menerus sehingga tugas ini merespons perubahan beban kerja aktual, bukan jadwal tetap.
Gunakan tugas berbasis peristiwa ketika Anda tidak dapat memprediksi kapan lalu lintas akan berubah. Jika bisnis Anda mengikuti pola yang dapat diprediksi dan Anda mengetahui waktu pasti jam puncaknya, scheduled tasks lebih sederhana. Untuk lonjakan yang tidak dapat diprediksi, tugas berbasis peristiwa memantau secara real-time dan bereaksi secara otomatis.
Jenis tugas
Buat tugas berbasis peristiwa dari Konsol Auto Scaling:
System monitoring tasks: menggunakan metrik bawaan CloudMonitor sebagai kondisi peringatan.
Custom monitoring tasks: menggunakan metrik dari sistem pemantauan Anda sendiri. Jenis ini menyediakan jalur integrasi standar antara pipeline pemantauan kustom Anda dan Auto Scaling, yang meningkatkan ketersediaan tugas berbasis peristiwa.
Batasan
Periode cooldown
Auto Scaling memerlukan beberapa menit untuk menambahkan instans Elastic Compute Service (ECS) atau instans elastic container, menjalankannya, men-deploy layanan, dan mengumpulkan data metriknya. Selama jendela startup ini, metrik instans baru tidak tersedia, sehingga suatu tugas dapat dipicu berulang kali sebelum grup penskalaan stabil. Periode cooldown mencegah hal ini dengan memblokir eksekusi aturan penskalaan lebih lanjut hingga grup siap.
Tugas berbasis peristiwa tidak dapat mengeksekusi aturan penskalaan selama periode cooldown. Atur periode cooldown berdasarkan waktu startup instans khas Anda untuk menghindari pemicuan berulang saat instans baru sedang diinisialisasi.
Aktivitas penskalaan paralel
Jika Anda belum mengonfigurasi jumlah instans yang diharapkan untuk grup penskalaan Anda, Auto Scaling tidak dapat mengeksekusi aktivitas penskalaan lain selama aktivitas penskalaan non-paralel sedang berlangsung. Untuk detailnya, lihat Expected number of instances.
Periode statistik satu menit
Setiap tugas berbasis peristiwa memiliki periode statistik default satu menit. Dalam rentang satu menit tersebut, tidak ada aturan penskalaan tambahan yang dipicu—meskipun metrik terus melebihi ambang batas.
Ekspresi cron
Saat membuat tugas berbasis peristiwa, atur Effective Period ke Cron Expression untuk membatasi waktu aktif tugas.
Ekspresi cron adalah string lima bidang dalam format X X X X X, di mana bidang-bidang tersebut mewakili detik, menit, jam, hari, dan bulan (secara berurutan). Setiap bidang menerima nilai tertentu atau karakter khusus.
Ekspresi cron menggunakan UTC+0. Konversikan waktu lokal Anda sebelum mengonfigurasi ekspresi tersebut. Misalnya, untuk mengaktifkan tugas antara pukul 01.00 dan 02.59 China Standard Time (UTC+8), kurangi 8 jam dan atur ekspresinya menjadi * * 17-18 * *.
Jika peringatan dipicu di luar periode efektif, tugas masuk ke status Alert tetapi tidak mengeksekusi aturan penskalaan.
Referensi bidang
| Field | Required | Value range | Special characters |
|---|---|---|---|
| Second | Yes | 0–59 | , - / * |
| Minute | Yes | 0–59 | , - / * |
| Hour | Yes | 0–23 | , - / * |
| Day | Yes | 1–31 | , - / * L W |
| Month | Yes | 1–12 | , - / * |
Karakter khusus
| Character | Description | Example |
|---|---|---|
* | Semua nilai valid | Bulanan: setiap bulan |
, | Nilai yang dienumerasi | Di Minute: 5,20 berarti menit ke-5 dan ke-20 |
- | Rentang | Di Minute: 5-20 memicu sekali per menit dari menit ke-5 hingga ke-20 |
/ | Increment | Di Minute: 0/15 berarti setiap 15 menit dimulai dari 0; 3/20 berarti setiap 20 menit dimulai dari 3 |
L | Hari terakhir (hanya untuk field Day) | L berarti hari terakhir bulan tersebut. Jangan menggabungkan L dengan daftar atau rentang. |
W | Hari kerja terdekat | 5W mengacu pada hari kerja terdekat dengan tanggal 5: jika tanggal 5 adalah Sabtu, tugas dijalankan pada Jumat tanggal 4; jika Minggu, dijalankan pada Senin tanggal 6; jika hari kerja, dijalankan pada tanggal 5. |
Contoh ekspresi (UTC+0)
| Expression | Active period |
|---|---|
* * * * * | Selalu aktif |
* 0-30 1-2 * * | 01:00–01:30 dan 02:00–02:30 setiap hari |
* * 0,2 * * | 00:00–00:59 dan 02:00–02:59 setiap hari |
* * 1 1/2 * | 01:00–01:59 setiap dua hari sekali mulai dari tanggal 1 setiap bulan (tanggal 1, 3, ...) |
* * 1 L * | 01:00–01:59 pada hari terakhir setiap bulan |
* * 1 5W * | 01:00–01:59 pada hari kerja terdekat dengan tanggal 5 setiap bulan |