Di Managed Service for Apache Kafka, pesan diatur dalam topik. Topik terdiri dari partisi. Partisi adalah urutan kumpulan data yang berurutan dan tidak dapat diubah yang dimiliki oleh satu broker dalam cluster Kafka. Anda harus membuat topik untuk memublikasikan atau menggunakan pesan.
Untuk membuat topik, Anda dapat menggunakan konsol, Google Cloud CLI, library klien, Managed Kafka API, atau Apache Kafka API open source. Google Cloud
Sebelum memulai
Anda harus membuat cluster terlebih dahulu sebelum membuat topik. Pastikan Anda telah menyiapkan hal berikut:
Peran dan izin yang diperlukan untuk membuat topik
Untuk mendapatkan izin yang
diperlukan guna membuat topik,
minta administrator untuk memberi Anda peran IAM
Managed Kafka Topic Editor (roles/managedkafka.topicEditor)
di project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membuat topik. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat topik:
-
Buat topik:
managedkafka.topics.create
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Peran Managed Kafka Topic Editor juga berisi peran Managed Kafka Viewer. Untuk mengetahui informasi selengkapnya tentang peran ini, lihat Peran bawaan Managed Service for Apache Kafka.
Properti topik Managed Service untuk Apache Kafka
Saat membuat atau memperbarui topik Managed Service for Apache Kafka, Anda harus menentukan properti berikut.
Nama topik
Nama topik Managed Service untuk Apache Kafka yang Anda buat. Untuk mengetahui panduan cara memberi nama topik, lihat Panduan untuk memberi nama resource Managed Service untuk Apache Kafka. Nama topik tidak dapat diubah.
Jumlah partisi
Jumlah partisi dalam topik. Anda dapat mengedit topik untuk menambah jumlah partisi topik, tetapi tidak dapat menguranginya. Meningkatkan jumlah partisi untuk topik yang menggunakan kunci dapat mengubah cara pesan didistribusikan.
Faktor replikasi
Jumlah replika untuk setiap partisi. Jika Anda tidak menentukan nilai, faktor replikasi default cluster akan digunakan.
Faktor replikasi yang lebih tinggi dapat meningkatkan konsistensi data jika terjadi kegagalan broker, karena data direplikasi ke beberapa broker. Untuk lingkungan produksi, sebaiknya gunakan faktor replikasi 3 atau lebih tinggi. Jumlah replika yang lebih tinggi akan meningkatkan biaya penyimpanan lokal dan transfer data untuk topik. Namun, hal ini tidak meningkatkan biaya penyimpanan persisten. Faktor replikasi tidak boleh melebihi jumlah broker yang tersedia.
Parameter lainnya
Anda juga dapat menyetel parameter konfigurasi tingkat topik Apache Kafka lainnya.
Setelan ini ditentukan sebagai pasangan key=value yang menggantikan setelan default cluster.
Konfigurasi terkait topik memiliki default server dan penggantian per topik opsional. Formatnya adalah daftar pasangan KEY=VALUE yang dipisahkan koma,
dengan KEY adalah nama properti konfigurasi topik Kafka, dan VALUE
adalah setelan yang diperlukan.Pasangan nilai kunci ini membantu Anda mengganti setelan default
kluster. Contohnya mencakup flush.ms=10 dan compression.type=producer.
Untuk mengetahui daftar semua konfigurasi tingkat topik yang didukung, lihat Konfigurasi tingkat topik dalam dokumentasi Apache Kafka.
Membuat topik
Sebelum membuat topik, tinjau properti topik.
Konsol
Di konsol Google Cloud , buka halaman Clusters.
Klik cluster yang topiknya ingin Anda buat.
Halaman Cluster details akan terbuka.
Di halaman detail cluster, klik Create Topic.
Halaman Create Kafka topic akan terbuka.
Untuk Topic name, masukkan string.
Untuk Jumlah partisi, masukkan jumlah partisi yang Anda inginkan atau pertahankan nilai default.
Untuk Faktor replikasi, masukkan faktor replikasi yang Anda inginkan atau pertahankan nilai default.
(Opsional) Untuk mengubah konfigurasi topik, tambahkan sebagai pasangan nilai kunci yang dipisahkan koma di kolom Konfigurasi.
Klik Create.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Jalankan perintah
gcloud managed-kafka topics create:gcloud managed-kafka topics create TOPIC_ID \ --cluster=CLUSTER_ID --location=LOCATION_ID \ --partitions=PARTITIONS \ --replication-factor=REPLICATION_FACTOR \ --configs=CONFIGSGanti kode berikut:
- TOPIC_ID: Nama topik.
- CLUSTER: Nama cluster tempat Anda ingin membuat topik.
- LOCATION: Region cluster.
- PARTITIONS: Jumlah partisi untuk topik.
- REPLICATION_FACTOR: Faktor replikasi untuk topik.
- CONFIGS: Parameter opsional tingkat topik.
Tentukan sebagai pasangan nilai kunci yang dipisahkan koma. Contoh,
compression.type=producer.
BOOTSTRAP_ADDRESS: Alamat bootstrap cluster Managed Service untuk Apache Kafka.
TOPIC_ID: Nama topik.
PARTITIONS: Jumlah partisi untuk topik.
REPLICATION_FACTOR: Faktor replikasi untuk topik.
-
PROJECT_ID: Project ID Google Cloud Anda -
LOCATION: lokasi cluster -
CLUSTER_ID: ID cluster -
TOPIC_ID: ID topik -
PARTITION_COUNT: jumlah partisi untuk topik -
REPLICATION_FACTOR: jumlah replika setiap partisi
Kafka CLI
Sebelum menjalankan perintah ini, instal alat command line Kafka di VM Compute Engine. VM harus dapat menjangkau subnet yang terhubung ke cluster Managed Service untuk Apache Kafka. Ikuti petunjuk di Membuat dan menggunakan pesan dengan alat command line Kafka.
Jalankan perintah kafka-topics.sh sebagai berikut:
kafka-topics.sh --create --if-not-exists \
--bootstrap-server=BOOTSTRAP_ADDRESS \
--command-config client.properties \
--topic TOPIC_ID \
--partitions PARTITIONS \
--replication-factor REPLICATION_FACTOR
Ganti kode berikut:
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
Metode HTTP dan URL:
POST https://managedkafka.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/topics?topicId=TOPIC_ID
Meminta isi JSON:
{
"name": "TOPIC_ID",
"partitionCount": PARTITION_COUNT,
"replicationFactor": REPLICATION_FACTOR
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON yang mirip seperti berikut:
{
"name": "projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/topics/TOPIC_ID",
"partitionCount": PARTITION_COUNT,
"replicationFactor": REPLICATION_FACTOR
}
Terraform
Anda dapat menggunakan resource Terraform untuk membuat topik.
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Menginstal library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Managed Service for Apache Kafka Go API.
Untuk melakukan autentikasi ke Managed Service untuk Apache Kafka, siapkan Kredensial Default Aplikasi(ADC). Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Menginstal library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Managed Service for Apache Kafka Java API.
Untuk melakukan autentikasi ke Managed Service for Apache Kafka, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Menginstal library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Managed Service for Apache Kafka Python API.
Untuk melakukan autentikasi ke Managed Service for Apache Kafka, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal.