Mode asynchronous task memberikan visibilitas dan kontrol penuh atas setiap pemanggilan asinkron di Function Compute. Saat mode task diaktifkan, Function Compute mencatat transisi status untuk setiap pemanggilan dan memungkinkan Anda mengelola tugas-tugas individual—termasuk menghentikannya—sepanjang siklus hidupnya.
Cara kerja
Saat Anda memanggil fungsi secara asinkron, Function Compute menyimpan permintaan tersebut ke dalam antrian internal sebelum memprosesnya. Tanpa mode task, pemanggilan diproses secara andal tetapi statusnya tidak dilacak. Dengan mode task diaktifkan, setiap pemanggilan menghasilkan catatan status lengkap—termasuk input, hasil eksekusi, dan pesan error apa pun—yang dapat Anda kueri dan tindak lanjuti.
Mengaktifkan mode task meningkatkan latensi pemanggilan dan eksekusi karena Function Compute harus menyimpan informasi status pada setiap fase. Latensi tambahan ini tidak dikenai biaya tambahan. Untuk detail penagihan, lihat Billing overview.
Batasan
Batasan skenario
Mode task menambahkan overhead sistem. Nonaktifkan mode ini dalam skenario berikut:
Aplikasi Anda memerlukan latensi pemrosesan permintaan rata-rata di bawah 100 milidetik.
Workload Anda memerlukan ribuan atau lebih pemanggilan asinkron per detik.
Wilayah yang didukung
Asynchronous tasks didukung di wilayah-wilayah berikut: Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Qingdao), Tiongkok (Beijing), Tiongkok (Zhangjiakou), Tiongkok (Shenzhen), Tiongkok (Chengdu), Tiongkok (Hong Kong), Singapura, Inggris (London), AS (Silicon Valley), AS (Virginia), Jerman (Frankfurt), Malaysia (Kuala Lumpur), Indonesia (Jakarta), Thailand (Bangkok), Jepang (Tokyo), dan Korea Selatan (Seoul).
Periode validitas
Catatan status task disimpan selama tujuh hari. Kueri status task dalam jendela waktu ini.
Kapan menggunakan asynchronous tasks
Gunakan asynchronous tasks ketika Anda membutuhkan eksekusi arsitektur tanpa server dengan manajemen task bawaan—skalabilitas tingkat milidetik, observabilitas otomatis, dan kontrol per-task—tanpa harus mengoperasikan kluster Kubernetes. Gunakan Kubernetes Jobs jika Anda memiliki workload batch dengan beban tetap, laju pengiriman rendah, dan sudah memiliki kluster Kubernetes untuk dikelola.
| Fitur | Asynchronous tasks (Function Compute) | Kubernetes Jobs |
|---|---|---|
| Skenario | Tugas Real-time (milidetik) dan tugas offline (jam) | Tugas offline dengan beban tetap dan persyaratan laju pengiriman rendah |
| Observabilitas | Bawaan: metrik, log, jumlah task dalam antrian, durasi link task, dan status task | Memerlukan integrasi tool open source |
| Penskalaan otomatis | Diskalakan berdasarkan kedalaman antrian dan penggunaan resource instans | Memerlukan penskalaan manual melalui antrian task |
| Kecepatan penskalaan | Milidetik | Menit |
| Pemanfaatan resource | Pilih tipe instans; instans diskalakan secara otomatis; ditagih berdasarkan durasi pemrosesan task aktual | Spesifikasi dan jumlah instans harus ditentukan saat pengiriman job; sulit untuk autoscale |
| Kecepatan pengiriman task | Puluhan ribu task per detik (satu pengguna) | Hingga ratusan Jobs per detik (per kluster) |
| Pengiriman terjadwal dan tertunda | Keduanya didukung | Terjadwal didukung; tertunda tidak didukung |
| Deduplikasi task | Didukung | Tidak didukung |
| Penghentian task | Didukung | Didukung dengan menghentikan instance tugas |
| Pembatasan kecepatan tugas | Didukung di tingkat pengguna dan tingkat fungsi | Tidak didukung |
| Callback hasil otomatis | Didukung | Tidak didukung |
| Overhead operasional | Cukup implementasikan logika pemrosesan task saja | Memerlukan pemeliharaan kluster Kubernetes |
Langkah selanjutnya
Jelajahi kemampuan inti asynchronous tasks: