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 mengirim pesan, penerbit menargetkan topik tertentu. Layanan Pub/Sub menggunakan nama topik ini untuk merutekan pesan ke semua langganan yang terlampir ke topik. Jika ada beberapa pelanggan untuk langganan, hanya satu pelanggan dalam langganan yang menerima pesan.

Penayang tidak perlu mengetahui jumlah subscriber yang ada. Mereka berfokus pada topik, memastikan pemisahan masalah 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 mengirimkan 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, streaming data 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 secara kustom. 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 tetap dapat memublikasikan secara manual ke topik impor.

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

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

Pub/Sub mendukung sumber berikut untuk topik impor:

Replikasi data dalam topik

Topik Pub/Sub menggunakan tiga zona untuk menyimpan data. Layanan 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. Salah satu hal berikut harus ditentukan dalam pesan.

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

  • Kunci pengurutan: Ini adalah ID yang mewakili entity yang pesannya harus diurutkan. Pesan dengan kunci pengurutan yang sama diharapkan dikirimkan ke pelanggan sesuai dengan urutan saat pesan tersebut dipublikasikan. Kunci pengurutan hanya diperlukan jika Anda ingin pengiriman pesan yang terurut. Untuk mengetahui informasi selengkapnya tentang kunci pemesanan, lihat Pesan pesanan.

  • Atribut: Ini adalah key-value pair opsional yang memberikan konteks dan informasi tambahan tentang pesan. Handler 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

Misalnya, berikut adalah format pesan dalam JSON:

{
  "data": "This is the core message content.",
  "attributes": {
    "category": "notification",
    "user_id": "12345",
    "priority": "medium"
  },
    "orderingKey": "12345"
}

Saat memublikasikan pesan menggunakan library klien Pub/Sub, berikan pesan data sebagai array byte, seperti Buffer Node.js. Jika data Anda adalah string, Anda harus mengenkodnya terlebih dahulu ke byte, misalnya dengan 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.

Alur kerja publikasikan 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 sudah 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.