Edge Computing with Cloudflare Workers & Deno · Pelajaran

Pengikatan Layanan & Integrasi

Hubungkan Workers ke layanan Cloudflare lain dan API eksternal menggunakan Service Bindings.

Pelajaran 3 dari 410 langkah

Pengikatan Layanan & Integrasi adalah pelajaran Edge Computing with Cloudflare Workers & Deno gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Edge Computing with Cloudflare Workers & Deno, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Edge Computing with Cloudflare Workers & Deno mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Intro to Service Bindings

Welcome to Service Bindings! In this lesson, you'll learn how Cloudflare Workers can communicate with each other and other Cloudflare services directly.

Think of Service Bindings as secure, internal connections that unlock powerful modularity for your edge applications.

Why Use Service Bindings?

Service Bindings offer several key advantages:

  • Modularity: Break down complex Workers into smaller, reusable components.
  • Performance: Direct internal communication is faster than public HTTP requests.
  • Security: Keep internal API calls off the public internet.
  • Abstraction: Treat other Workers or services like local modules.

Worker-to-Worker Communication

One of the most common uses for Service Bindings is allowing one Worker to invoke another. This is perfect for creating microservices at the edge.

You can call a 'target' Worker from an 'invoking' Worker, passing requests and receiving responses as if they were part of the same application.

Code: The Target Worker

First, let's create a simple 'target' Worker. This Worker will respond with a specific message when called.

Save this as target-worker/src/index.js:

export default {
  async fetch(request, env, ctx) {
    return new Response("Hello from the Target Worker!", {
      status: 200,
      headers: { 'Content-Type': 'text/plain' }
    });
  },
};

Code: The Invoking Worker

Now, let's create an 'invoking' Worker that uses a binding to call our 'target' Worker. Notice how env.TARGET_WORKER.fetch(request) is used.

Save this as invoking-worker/src/index.js:

export default {
  async fetch(request, env, ctx) {
    // 'TARGET_WORKER' is the binding name defined in wrangler.toml
    const response = await env.TARGET_WORKER.fetch(request);
    const text = await response.text();
    return new Response(`Invoker received: ${text}`, {
      status: 200,
      headers: { 'Content-Type': 'text/plain' }
    });
  },
};

Configuring Worker Bindings

To connect the 'invoking' Worker to the 'target' Worker, you need to add a service_binding entry in the wrangler.toml file of your invoking Worker.

This tells Cloudflare which Worker project to connect to and what name (e.g., TARGET_WORKER) to use in your code.

# In the invoking-worker's wrangler.toml
name = "invoking-worker"
main = "src/index.js"
compatibility_date = "2023-12-01"

[[service_bindings]]
name = "TARGET_WORKER"
service = "target-worker" # Name of the target Worker project

Make sure both Workers are deployed to Cloudflare.

Bindings to Cloudflare Services

Service Bindings aren't limited to Workers! You can also bind your Worker directly to other Cloudflare services like KV Namespaces, R2 buckets, D1 databases, and Durable Objects.

This provides your Worker with direct, secure, and performant access to these resources via the env object.

Code: KV Namespace Binding

Here's how you'd configure a binding to a KV Namespace in your wrangler.toml:

# In your Worker's wrangler.toml
name = "my-worker"
main = "src/index.js"
compatibility_date = "2023-12-01"

[[kv_namespaces]]
binding = "MY_KV" # The variable name in your Worker
id = "YOUR_KV_NAMESPACE_ID" # Replace with your actual KV ID

Then, access it in your Worker's code:

export default {
  async fetch(request, env, ctx) {
    // 'MY_KV' is the binding name from wrangler.toml
    await env.MY_KV.put("greeting", "Hello from KV!");
    const message = await env.MY_KV.get("greeting");
    return new Response(`KV says: ${message}`, {
      status: 200,
      headers: { 'Content-Type': 'text/plain' }
    });
  },
};

Test Your Knowledge!

Choose the best answer.

Recap: Bindings & Integrations

You've learned about Cloudflare Worker Service Bindings!

  • They provide a powerful way for Workers to communicate with other Workers or Cloudflare services directly.
  • Benefits include modularity, performance, and security.
  • You configure bindings in your wrangler.toml file.
  • They enable complex architectures where Workers act as building blocks.

Keep exploring how these bindings can simplify your edge development!

Gratis untuk memulai

Belajar Edge Computing with Cloudflare Workers & Deno dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
12
Pelajaran
47

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pengikatan Layanan & Integrasi” gratis?

Ya — teks lengkap “Pengikatan Layanan & Integrasi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Edge Computing with Cloudflare Workers & Deno, upgrade ke CoddyKit PRO. Kursus Edge Computing with Cloudflare Workers & Deno mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pengikatan Layanan & Integrasi”?

Hubungkan Workers ke layanan Cloudflare lain dan API eksternal menggunakan Service Bindings. Kamu berlatih Edge Computing with Cloudflare Workers & Deno dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Edge Computing with Cloudflare Workers & Deno?

Tidak diperlukan pengalaman sebelumnya. Edge Computing with Cloudflare Workers & Deno di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Pengikatan Layanan & Integrasi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Edge Computing with Cloudflare Workers & Deno ini?

Ya. Setiap pelajaran Edge Computing with Cloudflare Workers & Deno menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. WebSockets & Waktu Nyata
  2. Antrean & Tugas Asinkron
  3. Pengikatan Layanan & Integrasi
  4. Pemicu Cron dan Workers Terjadwal
← Kembali ke Edge Computing with Cloudflare Workers & Deno