Ringkasan publikasi pesan

Untuk memublikasikan pesan dengan Pub/Sub, aplikasi penayang membuat dan mengirim pesan ke topik.

Dokumen ini memberikan ringkasan tentang alur kerja publikasi, termasuk konsep topik dan pesan.

Tentang topik

Topik Pub/Sub adalah resource bernama yang mewakili feed pesan. Saat penayang mengirim pesan, pesan tersebut akan menargetkan topik tertentu. Layanan Pub/Sub menggunakan nama topik ini untuk merutekan pesan ke semua langganan yang dilampirkan ke topik. Jika ada beberapa pelanggan untuk langganan, hanya satu pelanggan dalam langganan yang menerima pesan.

Penayang tidak perlu mengetahui jumlah pelanggan yang ada. Penayang berfokus pada topik, yang memastikan pemisahan tanggung jawab antara pengiriman pesan dan penerimaan pesan.

Pub/Sub mendukung dua jenis topik: topik standar dan topik impor.

Properti topik

Saat membuat atau memperbarui topik, Anda dapat menentukan properti topik.

Untuk mengetahui informasi selengkapnya tentang properti topik, lihat Properti topik.

Tentang topik impor

Topik impor memungkinkan Pub/Sub menyerap data streaming dari sumber lain dan bertindak sebagai aplikasi penayang yang mengirim data ke topik. Anda dapat mengaktifkan penyerapan pada topik menggunakan konsol, Google Cloud CLI, panggilan REST, atau library klien. Sebagai bagian dari pengelolaan topik impor, Google Cloud menyediakan pemantauan dan penskalaan pipeline penyerapan.

Tanpa topik impor, data streaming ke Pub/Sub dari sumber data memerlukan layanan tambahan. Layanan tambahan ini menarik data dari sumber asli dan memublikasikannya ke Pub/Sub. Layanan tambahan dapat berupa mesin streaming seperti Apache Spark atau layanan yang ditulis khusus. Anda juga harus mengonfigurasi, men-deploy, menjalankan, menskalakan, dan memantau layanan ini.

Berikut adalah daftar informasi penting terkait topik impor:

  • Mirip dengan topik standar, Anda masih dapat memublikasikan ke topik impor secara manual.

  • Anda hanya dapat melampirkan satu sumber penyerapan ke topik impor.

Sebaiknya gunakan topik impor untuk data streaming. Jika Anda mempertimbangkan penyerapan data batch ke BigQuery, bukan penyerapan data streaming penyerapan data, Anda dapat mencoba BigQuery Data Transfer Service. Jika Anda ingin menyerap data ke Cloud Storage, Storage Transfer Service (STS) adalah opsi yang baik.

Pub/Sub mendukung sumber berikut untuk topik impor:

Replikasi data dalam topik

Topik Pub/Sub menggunakan tiga zona untuk menyimpan data. Layanan ini mendukung replikasi sinkron ke setidaknya dua zona, dan replikasi upaya terbaik ke zona ketiga tambahan. Replikasi Pub/Sub hanya berada dalam satu region.

Tentang pesan

Pesan Pub/Sub adalah data yang bergerak melalui layanan.

Pesan terdiri dari kolom dengan data dan metadata pesan. Pesan harus berisi data pesan atau setidaknya satu atribut.

  • Data pesan: Ini adalah konten inti pesan dan dapat berupa data teks atau biner. Data ini mewakili informasi sebenarnya yang ingin Anda komunikasikan antara penayang dan pelanggan. Jika Anda menggunakan REST API secara langsung, data pesan harus dienkode base64. Lihat contoh di tab REST di bagian Memublikasikan pesan.

  • Kunci pengurutan: Ini adalah ID opsional yang mewakili entity yang pesannya harus diurutkan. Pesan dengan kunci pengurutan yang sama diharapkan akan dikirimkan ke pelanggan sesuai urutan publikasinya. Kunci pengurutan hanya diperlukan jika Anda menginginkan pengiriman pesan yang diurutkan. Untuk mengetahui informasi selengkapnya tentang kunci pengurutan, lihat Mengurutkan pesan.

  • Atribut: Ini adalah key-value pair opsional yang memberikan konteks dan informasi tambahan tentang pesan. Atribut dapat digunakan untuk merutekan, memfilter, atau memperkaya konten pesan. Misalnya, Anda dapat menambahkan atribut seperti stempel waktu atau ID transaksi. Untuk mengetahui informasi selengkapnya tentang atribut yang digunakan dalam memublikasikan pesan, lihat Menggunakan atribut untuk memublikasikan pesan.

Layanan Pub/Sub menambahkan kolom berikut ke pesan:

  • ID pesan yang unik untuk topik
  • Stempel waktu saat layanan Pub/Sub menerima pesan

Saat memublikasikan pesan menggunakan library klien Pub/Sub, berikan data pesan sebagai array byte, seperti Buffer Node.js. Jika data Anda adalah string, Anda harus mengenkode data tersebut ke byte terlebih dahulu, misalnya menggunakan encoding UTF-8, sebelum meneruskannya ke library klien.

Jika Anda menggunakan REST API secara langsung, data pesan harus dienkode base64 dan dikirim sebagai string.

Contoh berikut menunjukkan representasi JSON dari pesan yang dikirim oleh klien:

{
  "data": "VGhpcyBpcyB0aGUgY29yZSBtZXNzYWdlIGNvbnRlbnQu",
  "attributes": {
    "category": "notification",
    "user_id": "12345",
    "priority": "medium"
  },
  "orderingKey": "12345"
}

Saat pelanggan menerima pesan, pesan tersebut akan menyertakan nilai untuk messageId dan publishTime, yang ditambahkan oleh layanan Pub/Sub:

{
  "data": "VGhpcyBpcyB0aGUgY29yZSBtZXNzYWdlIGNvbnRlbnQu",
  "attributes": {
    "category": "notification",
    "user_id": "12345",
    "priority": "medium"
  },
  "messageId": "19443130675731448",
  "publishTime": "2026-05-04T23:15:19.863Z",
  "orderingKey": "12345"
  }
}

Alur kerja publikasi pesan

Untuk memublikasikan pesan dengan Pub/Sub, aplikasi penayang membuat dan mengirim pesan ke topik.

  1. Buat pesan yang berisi data Anda.
  2. Pilih atribut publikasi opsional.
  3. Kirim permintaan ke server Pub/Sub untuk memublikasikan pesan ke topik tertentu.
  4. Layanan Pub/Sub menerima pesan dan memprosesnya sebagai berikut:

    • Pesan disimpan untuk didistribusikan.

    • Pesan direplikasi di beberapa zona untuk ketahanan dan ketersediaan tinggi.

    • Pub/Sub mengidentifikasi pelanggan dengan langganan yang cocok dengan topik pesan, dan mengirimkan salinan pesan ke setiap pelanggan.

Pub/Sub menawarkan pengiriman pesan minimal satu kali dan pengurutan upaya terbaik kepada pelanggan yang ada.

Untuk mengetahui informasi selengkapnya tentang sistem Pub/Sub, lihat Ringkasan layanan Pub/Sub.

Untuk mengetahui informasi selengkapnya tentang cara kerja Pub/Sub, lihat Ringkasan arsitektur Pub/Sub.

Langkah berikutnya

Apache Kafka® adalah merek dagang terdaftar dari The Apache Software Foundation atau afiliasinya di Amerika Serikat dan/atau negara lain.