Pengkomputeran Pinggir dengan Cloudflare Workers & Deno · Pelajaran

Baris Gilir & Tugas Tak Segerak

Manfaatkan Cloudflare Queues untuk mengurus tugas tak segerak dan pemprosesan latar pada skala besar.

Pelajaran 2 daripada 412 langkah

Baris Gilir & Tugas Tak Segerak ialah pelajaran Pengkomputeran Pinggir dengan Cloudflare Workers & Deno percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pengkomputeran Pinggir dengan Cloudflare Workers & Deno, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pengkomputeran Pinggir dengan Cloudflare Workers & Deno merangkumi sejumlah 4 pelajaran.

Tugas Tak Segerak di Pinggir

Di pinggir rangkaian, pengguna menjangkakan respons yang sangat pantas. Namun, tidak semua tugas perlu berlaku serta-merta. Ada kalanya anda mempunyai operasi yang boleh dijalankan di latar belakang, seperti menghantar e-mel, memproses analitik atau menjana laporan.

Operasi ini dipanggil tugas tak segerak. Operasi ini tidak menyekat permintaan segera pengguna, lalu membolehkan Worker anda memberikan respons dengan pantas sementara tugas yang lebih lama diselesaikan secara berasingan.

Memperkenalkan Baris Gilir Cloudflare

Baris Gilir Cloudflare menyediakan cara yang kukuh untuk mengurus tugas tak segerak ini. Ia bertindak sebagai penimbal yang membolehkan bahagian berlainan aplikasi anda (selalunya Cloudflare Workers) berkomunikasi tanpa perlu tersedia secara langsung pada masa yang sama.

Bayangkan ia seperti senarai tugasan: satu Worker menambah tugas, manakala Worker yang lain mengambilnya apabila sudah bersedia.

Asas Baris Gilir: P-P-M

Setiap sistem baris gilir mesej, termasuk Baris Gilir Cloudflare, berasaskan tiga konsep teras:

  • Pengeluar: Entiti yang mencipta dan menghantar mesej ke baris gilir. Dalam kes kita, entiti ini biasanya ialah Cloudflare Worker yang memberikan respons kepada permintaan HTTP.
  • Pengguna: Entiti yang mendapatkan mesej daripada baris gilir dan memprosesnya. Biasanya, entiti ini ialah Cloudflare Worker lain yang dikonfigurasikan untuk mendengar baris gilir.
  • Mesej: Data sebenar atau arahan tugas yang dihantar melalui baris gilir.

Mengkonfigurasi Baris Gilir Pertama Anda

Untuk menggunakan Baris Gilir Cloudflare, anda perlu mencipta baris gilir terlebih dahulu dalam papan pemuka Cloudflare atau melalui CLI Wrangler. Selepas dicipta, anda mengikatnya pada Worker supaya ia boleh diakses melalui objek env Worker tersebut.

Pengikatan ini menentukan nama yang akan digunakan oleh Worker anda untuk berinteraksi dengan baris gilir itu (contohnya, env.MY_QUEUE).

Menghantar Mesej ke Baris Gilir

Worker yang bertindak sebagai Pengeluar akan menghantar mesej ke baris gilir yang telah diikat menggunakan kaedah send(). Kaedah ini menerima objek JavaScript sebagai hujahnya, yang kemudiannya akan disiri dan disimpan dalam baris gilir.

Operasi send() itu sendiri adalah tak segerak, tetapi operasi ini memastikan mesej dimasukkan ke dalam baris gilir dengan pantas. Dengan itu, Worker pengeluar boleh menyelesaikan tugas utamanya tanpa menunggu mesej diproses.

Worker Menghasilkan Mesej

Berikut ialah contoh Worker yang menerima permintaan HTTP dan menghantar mesej ringkas ke baris gilir bernama MY_QUEUE. Pengguna menerima respons serta-merta.

export interface Env {
  MY_QUEUE: Queue;
}

export default {
  async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
    const url = new URL(request.url);
    if (url.pathname === '/send-task') {
      const message = {
        type: 'email_notification',
        userId: 'user123',
        subject: 'Welcome to CoddyKit!'
      };
      await env.MY_QUEUE.send(message);
      return new Response('Email task enqueued!', { status: 200 });
    }
    return new Response('Hello from Producer Worker!', { status: 200 });
  },
};

Memproses Mesej Baris Gilir

Worker yang bertindak sebagai Pengguna dikonfigurasikan dengan pengendali queue khas. Pengendali ini dipanggil oleh Cloudflare apabila terdapat mesej dalam baris gilir yang telah diikat. Mesej dihantar dalam kelompok demi kecekapan.

Dalam pengendali queue, anda mengulangi setiap elemen dalam tatasusunan batch.messages. Bagi setiap mesej, anda boleh mengakses bodynya (data yang dihantar oleh pengeluar) dan menjalankan pemprosesan latar belakang yang diperlukan.

Worker Menggunakan Mesej

Worker ini dikonfigurasikan untuk mendengar MY_QUEUE. Ia memproses setiap mesej dalam kelompok. Jika mesej berjaya diproses, message.ack() mengesahkannya. Jika berlaku ralat, message.retry() menghantarnya kembali ke baris gilir untuk percubaan lain.

export interface Env {
  MY_QUEUE: Queue;
}

export default {
  async queue(batch: MessageBatch, env: Env): Promise<void> {
    for (const message of batch.messages) {
      try {
        const data = message.body as {
          type: string;
          userId: string;
          subject: string;
        };
        console.log(`Processing ${data.type} for ${data.userId}: ${data.subject}`);
        // Simulate sending an email or other background task
        await new Promise(resolve => setTimeout(resolve, 500));
        message.ack(); // Mark message as processed successfully
      } catch (error) {
        console.error(`Error processing message: ${error}`);
        message.retry(); // Re-queue for another attempt
      }
    }
  },
};

Mengapa Menggunakan Baris Gilir Pinggir?

Baris Gilir Cloudflare menawarkan beberapa manfaat hebat untuk aplikasi pinggir:

  • Pemisahan: Pengeluar dan pengguna tidak perlu saling mengetahui secara langsung.
  • Kebolehpercayaan: Mesej kekal tersimpan dan boleh dicuba semula secara automatik jika pemprosesan gagal.
  • Penyamarataan Beban: Baris gilir menyerap lonjakan permintaan supaya perkhidmatan bahagian belakang tidak terbeban.
  • Kebolehskalaan: Skala pemprosesan dengan mudah dengan menambah lebih banyak Worker pengguna tanpa menjejaskan pengeluar.
  • Pemprosesan Tak Segerak: Penting untuk memastikan respons yang dilihat pengguna kekal pantas.

Kes Penggunaan Baris Gilir Secara Praktikal

Baris gilir sangat serba boleh. Berikut ialah beberapa keadaan umum yang sesuai menggunakan Baris Gilir Cloudflare:

  • Analitik & Pengelogan: Mengumpul dan memproses data peristiwa pengguna di latar belakang.
  • Pemprosesan Imej/Video: Memulakan proses mengubah saiz atau menambah tera air selepas muat naik.
  • Pemberitahuan: Menghantar e-mel, SMS atau pemberitahuan tolak tanpa melambatkan pengguna.
  • Penyegerakan Data: Menyebarkan perubahan kepada berbilang perkhidmatan hiliran secara tak segerak.
  • Kerja Kelompok: Menjadualkan dan melaksanakan transformasi data atau tugas pembersihan secara berkala.

Semakan Konsep Baris Gilir

Pertimbangkan keadaan apabila Cloudflare Worker perlu memulakan tugas latar belakang (contohnya, menghantar e-mel) tanpa melambatkan respons pengguna. Pernyataan yang manakah tentang Baris Gilir Cloudflare betul untuk keadaan ini?

Imbas Kembali & Langkah Seterusnya

Anda kini telah meneroka Baris Gilir Cloudflare, alat berkuasa untuk mengurus tugas tak segerak di pinggir rangkaian. Kita telah membincangkan model pengeluar-pengguna, cara menghantar dan memproses mesej, serta manfaat penting yang diberikan oleh baris gilir, seperti kebolehpercayaan yang lebih baik, kebolehskalaan dan respons pengguna yang lebih pantas.

Dengan memisahkan tugas menggunakan baris gilir, aplikasi pinggir anda boleh mengendalikan operasi kompleks dengan cekap tanpa menjejaskan prestasi. Cuba cipta baris gilir dan Workers anda sendiri untuk membina aliran kerja tak segerak yang kukuh!

Percuma untuk bermula

Pelajari Pengkomputeran Pinggir dengan Cloudflare Workers & Deno dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
47

Soalan Lazim

Adakah pelajaran “Baris Gilir & Tugas Tak Segerak” percuma?

Ya — teks penuh “Baris Gilir & Tugas Tak Segerak” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Pengkomputeran Pinggir dengan Cloudflare Workers & Deno, tingkat taraf kepada CoddyKit PRO. Kursus Pengkomputeran Pinggir dengan Cloudflare Workers & Deno merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Baris Gilir & Tugas Tak Segerak”?

Manfaatkan Cloudflare Queues untuk mengurus tugas tak segerak dan pemprosesan latar pada skala besar. Anda berlatih Pengkomputeran Pinggir dengan Cloudflare Workers & Deno menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Pengkomputeran Pinggir dengan Cloudflare Workers & Deno?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pengkomputeran Pinggir dengan Cloudflare Workers & Deno di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Baris Gilir & Tugas Tak Segerak” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pengkomputeran Pinggir dengan Cloudflare Workers & Deno ini?

Ya. Setiap pelajaran Pengkomputeran Pinggir dengan Cloudflare Workers & Deno menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. WebSockets & Masa Nyata
  2. Baris Gilir & Tugas Tak Segerak
  3. Pengikatan Perkhidmatan & Integrasi
  4. Pencetus Cron dan Workers Berjadual
← Kembali ke Pengkomputeran Pinggir dengan Cloudflare Workers & Deno