All Products
Search
Document Center

Microservices Engine:Tugas HTTP

Last Updated:Nov 12, 2025

Tugas HTTP menggunakan protokol HTTP atau HTTPS untuk menjadwalkan dan mengeksekusi tugas, memungkinkan penjadwalan lintas bahasa dan lintas platform tanpa SDK. Dua jenis koneksi didukung: koneksi di lingkungan Kubernetes dan koneksi di lingkungan non-Kubernetes.

Prasyarat

Jika versi mesin saat ini lebih awal dari 2.3.0, tingkatkan ke versi 2.3.0 atau yang lebih baru.

Penting

Instans akan dimulai ulang selama proses peningkatan.

Keunggulan

  • Mengintegrasikan layanan warisan tanpa perubahan kode.

  • Menggunakan solusi terpadu untuk berbagai bahasa.

  • Mendukung skenario agen AI dan alur kerja.

Jenis koneksi tugas HTTP

Menghubungkan di lingkungan Kubernetes

Untuk menghubungkan di lingkungan Kubernetes, Anda mengikat layanan dalam kluster Kubernetes ke aplikasi guna mengaktifkan penjadwalan tugas HTTP. Setelah layanan diikat, semua tugas dalam aplikasi dapat berbagi sumber daya Pod yang terkait dengan layanan tersebut.

Saat mengonfigurasi layanan Kubernetes dalam aplikasi, pusat penjadwalan secara otomatis mengambil informasi tentang instans Pod terkait. Saat mengonfigurasi tugas, Anda hanya perlu menentukan path permintaan HTTP dan tidak perlu menentukan alamat Pod. Ketika tugas dipicu, pusat penjadwalan mengirim permintaan HTTP ke Pod tujuan berdasarkan kebijakan perutean yang telah ditetapkan. Hasil eksekusi tugas dicatat dan didorong ke Simple Log Service (SLS) untuk dilihat dan dianalisis di masa mendatang.

Pusat penjadwalan secara berkala menggunakan thread penemuan layanan untuk mendeteksi peristiwa penskalaan Pod dan status abnormal. Pusat penjadwalan secara otomatis menyinkronkan informasi instans Pod terbaru dengan pengelola Pod. Proses ini memungkinkan pemantauan dinamis dan pemeliharaan status kluster Pod.

Pengelola Pod memelihara alamat jaringan dan status kesehatan Pod. Pengelola ini juga mendukung berbagai kebijakan perutean tugas. Selain perutean instans tunggal, pengelola ini menyediakan pola perutean broadcast sharding. Saat tugas dipicu, permintaan dapat disiarkan ke semua instans Pod dalam layanan tujuan. Pusat penjadwalan menyisipkan informasi konteks sharding, seperti indeks shard dan jumlah total shard, ke dalam header permintaan HTTP. Hal ini memungkinkan Anda melakukan kontrol logika detail halus dan partisi data selama eksekusi tugas.

Menghubungkan di lingkungan non-Kubernetes

Di lingkungan non-Kubernetes, Anda dapat mengonfigurasi nama domain tujuan HTTP di tingkat aplikasi. Hal ini memungkinkan manajemen nama domain terpadu dan kontrol kebijakan perutean untuk aplikasi tersebut. Setelah aplikasi diikat ke beberapa nama domain, semua tugas dalam aplikasi tersebut berbagi konfigurasi nama domain ini.

Nama domain diikat di tingkat aplikasi. Pusat penjadwalan memelihara informasi nama domain menggunakan pengelola nama domain. Saat membuat tugas, Anda hanya perlu mengonfigurasi path permintaan dan tidak perlu menentukan nama domain. Ketika tugas dipicu, pusat penjadwalan secara otomatis memilih nama domain yang sesuai berdasarkan kebijakan perutean yang telah ditetapkan dan mengirim permintaan ke gerbang. Gerbang melakukan autentikasi, pembentukan lalu lintas, dan penyeimbangan beban, lalu meneruskan permintaan ke layanan tujuan. Hasil eksekusi disinkronkan dengan SLS.

Pengelola nama domain bertanggung jawab untuk memelihara informasi nama domain. Pengelola ini mendukung penambahan, penghapusan, dan modifikasi nama domain, serta mengonfigurasi perutean berbasis tag. Pengelola ini mendistribusikan lalu lintas berdasarkan tag bisnis dan mendukung berbagai kebijakan perutean untuk memenuhi berbagai kebutuhan penjadwalan dan penyeimbangan beban.

Perbandingan jenis koneksi

Dimensi Perbandingan

Lingkungan Kubernetes: Menghubungkan melalui Layanan

Lingkungan Non-Kubernetes: Menghubungkan melalui Gerbang

Pola Koneksi

Mengakses langsung instans Pod backend berdasarkan layanan Kubernetes.

Melewatkan permintaan melalui gerbang terpadu dan meneruskannya ke layanan nama domain tujuan.

Mekanisme Penemuan Layanan

Mendengarkan secara aktif perubahan Endpoint dan memelihara daftar Pod secara dinamis.

Tidak mendukung penemuan layanan dan tidak mengetahui status node backend.

Granularitas Target Eksekusi

Dapat menjadwalkan tugas ke alamat IP dan port Pod tertentu, yang memungkinkan panggilan langsung titik-ke-titik.

Permintaan dikirim ke gerbang, yang menangani penyeimbangan beban internal dan perutean instans. Pusat penjadwalan tidak dapat mengetahui node backend sebenarnya.

Kebijakan Perutean

Mendukung kebijakan perutean instans tunggal dan broadcast sharding.

Tidak mendukung kebijakan perutean. Menggunakan kebijakan perutean gerbang.

Broadcast Sharding

Secara native mendukung broadcast sharding, yang cocok untuk skenario pemrosesan batch paralel berskala besar.

Tidak mendukung broadcast sharding. Semua tugas dieksekusi pada satu titik, dan pemrosesan kolaboratif lintas node tidak dimungkinkan.

Manajemen Status Kesehatan

Menyinkronkan status Endpoint secara real-time dan secara otomatis menghapus Pod yang belum siap atau telah dihentikan.

Mengandalkan pemeliharaan manual ketersediaan nama domain.

Ekstensibilitas dan Fleksibilitas

Beradaptasi dengan lingkungan cloud-native dan mendukung skenario seperti penskalaan otomatis dan penyebaran bergulir.

Lebih cocok untuk arsitektur tradisional atau integrasi sistem heterogen. Memiliki kompatibilitas kuat dan mudah diintegrasikan dengan sistem gerbang yang sudah ada.

Skenario

Layanan mikro berkontainer, eksekusi sharded pekerjaan pemrosesan batch, dan tugas terjadwal berkonkurensi tinggi.

Lingkungan non-kontainer, arsitektur penyebaran hibrida, integrasi sistem warisan, dan penjadwalan API tingkat perusahaan yang memerlukan administrasi gerbang terpadu.

Langkah-langkah koneksi

  1. Masuk ke Konsol MSE XXL-JOB dan pilih wilayah dari bilah menu atas.

  2. Di panel navigasi sebelah kiri, pilih Penjadwalan Tugas > XXL-JOB.

  3. Klik instans target. Di panel navigasi sebelah kiri, pilih Manajemen Aplikasi, lalu klik Buat Aplikasi. Atur parameter Jenis Aplikasi menjadi Aplikasi Http, lalu klik OK.

  4. Hubungkan ke pelaksana HTTP. Untuk informasi selengkapnya, lihat Menghubungkan aplikasi HTTP ke pelaksana.

  5. Di panel navigasi sebelah kiri, pilih Manajemen Tugas, lalu klik Buat Tugas. Untuk parameter Aplikasi Terkait, pilih aplikasi yang Anda buat pada langkah 3. Atur parameter Jenis Tugas menjadi HTTP.

  6. Konfigurasikan nama domain permintaan, path, metode permintaan, dan waktu habis untuk tugas HTTP.

  7. Konfigurasikan parameter permintaan untuk tugas HTTP. Isi parameter Header, Query, dan Body sesuai kebutuhan.

  8. Konfigurasikan definisi respons untuk tugas HTTP, termasuk pola untuk menguraikan respons sukses dan hasilnya. Tiga jenis penguraian tersedia: kode respons, badan respons, dan Body respons.

  9. Konfigurasikan kebijakan pengulangan untuk tugas HTTP, termasuk jumlah pengulangan dan interval pengulangan. Jika jumlah pengulangan lebih besar dari 0—yang berarti tugas diulang setelah gagal—Anda juga dapat mengonfigurasi nama domain dan path antarmuka pengulangan. Jika tugas gagal, permintaan dikirim ke nama domain dan path tersebut.

Header permintaan tugas HTTP

Saat MSE-XXLJOB mengeksekusi tugas HTTP, parameter sistem berikut ditambahkan ke header permintaan:

Nama

Deskripsi

Nilai contoh

schedulerx-appId

ID Aplikasi

12

schedulerx-jobId

ID Tugas

35

schedulerx-jobName

Nama Tugas

http-test-job

schedulerx-scheduleTimestamp

Timestamp penjadwalan (milidetik)

1760164985000

schedulerx-dataTimestamp

Timestamp data (milidetik)

1760164980000

schedulerx-user

Informasi pengguna

1344371792

schedulerx-maxAttempt

Jumlah maksimum pengulangan

3

schedulerx-attempt

Jumlah pengulangan saat ini

1

schedulerx-jobExecutionId

ID eksekusi tugas

1417474640397221891

schedulerx-logId

ID shard (untuk broadcast sharding)

1417474640531439619

schedulerx-shardingIndex

Indeks shard (untuk broadcast sharding)

0

schedulerx-shardingTotal

Jumlah total shard (untuk broadcast sharding)

3