Di Managed Service untuk 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 Google Cloud konsol, Google Cloud CLI, library klien, Managed Kafka API, atau Apache Kafka API open source.
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:
-
Membuat topik:
managedkafka.topics.create
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Properti topik Managed Service untuk Apache Kafka
Saat membuat atau memperbarui topik Managed Service untuk Apache Kafka, Anda harus menentukan properti berikut.
Nama topik
Nama topik Managed Service untuk Apache Kafka yang Anda buat. Untuk mengetahui panduan tentang 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 meningkatkan jumlah partisi untuk topik, tetapi Anda 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 menetapkan parameter konfigurasi tingkat topik Apache Kafka lainnya.
Parameter ini ditentukan sebagai pasangan key=value yang mengganti nilai default cluster.
Konfigurasi yang terkait dengan 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 nilai default cluster. 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 Google Cloud konsol, buka halaman Clusters.
Klik cluster yang ingin Anda buatkan topik.
Halaman Cluster details akan terbuka.
Di halaman detail cluster, klik Create Topic.
Halaman Create Kafka topic akan terbuka.
Untuk Topic name, masukkan string.
Untuk Partition count, masukkan jumlah partisi yang Anda inginkan atau pertahankan nilai default.
Untuk Replication factor, 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 Configurations.
Klik Create.
gcloud
-
Di konsol, aktifkan Cloud Shell. Google Cloud
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan prompt command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.
Jalankan
gcloud managed-kafka topics createperintah: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. Misalnya,
compression.type=producer.
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 Anda. 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:
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.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
PROJECT_ID: ID proyek 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
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 a 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 untuk 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 untuk Apache Kafka Java API.
Untuk melakukan autentikasi ke Managed Service untuk 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 untuk Apache Kafka Python API.
Untuk melakukan autentikasi ke Managed Service untuk Apache Kafka, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal.