Managed Service untuk Apache Kafka adalah layanan yang membantu Anda menjalankan cluster Apache Kafka open source yang aman dan dapat diskalakan. Google Cloud Halaman ini adalah ringkasan tentang hal yang diotomatiskan dan disederhanakan oleh layanan ini untuk Anda. Untuk mengetahui informasi selengkapnya tentang Apache Kafka, lihat situs Apache Kafka.
Penentuan ukuran dan penskalaan yang sederhana
Untuk menentukan ukuran atau menskalakan cluster Managed Service untuk Apache Kafka, Anda hanya perlu menetapkan jumlah total vCPU dan ukuran RAM untuk cluster. Pengelolaan broker, termasuk penyimpanan, sepenuhnya otomatis. Untuk memenuhi permintaan klien, Anda dapat memantau vCPU dan penggunaan resource lainnya, lalu menyesuaikannya ke atas atau ke bawah.
Saat Anda menetapkan jumlah vCPU dan ukuran RAM, layanan akan mengotomatiskan pengubahan ukuran dan penyediaan broker. Jika peningkatan ukuran cluster memerlukan broker baru, layanan dapat secara otomatis menyeimbangkan ulang partisi di seluruh broker.
Penyediaan broker
Saat Anda mengonfigurasi jumlah total vCPU dan ukuran RAM untuk cluster, layanan akan menyediakan broker baru dan menskalakan broker yang ada. Untuk konfigurasi cluster yang umum, jumlah total vCPU dan ukuran RAM dibagi secara merata di seluruh broker. Artinya, jumlah vCPU pecahan per broker diizinkan, meskipun diperlukan minimal satu vCPU per broker. Semua cluster didistribusikan di tiga zona. Artinya, diperlukan minimal 3 vCPU dan 3 GiB RAM per cluster.
Saat Anda meningkatkan ukuran cluster, broker akan diskalakan secara vertikal hingga 15 vCPU per broker. Setelah batas ini tercapai, layanan akan membuat broker baru. Saat Anda mengurangi ukuran cluster, broker yang ada akan diturunkan skalanya menjadi satu vCPU, tetapi tidak dihapus.
Ukuran broker maksimum dapat berubah kapan saja. Batas ini dipilih untuk mempertahankan penskalaan linear throughput broker dengan jumlah vCPU.
Algoritma penskalaan
Jumlah broker ditentukan oleh total vCPU atau kapasitas memori cluster. Rasio penskalaan adalah 1 broker untuk setiap 15 vCPU atau 120 gibibyte (GiB) resource, mana pun yang menghasilkan jumlah broker yang lebih besar. Rasio vCPU terhadap memori (vCPU:GiB) harus tetap antara 1:1 dan 1:8. Broker didistribusikan secara merata di antara 3 zona, dengan perbedaan maksimum satu.
Misalnya, jika Anda mengonfigurasi cluster dengan 70 vCPU dan 130 GiB RAM, beserta faktor replikasi 3, perhitungan berikut akan menentukan jumlah broker:
Hitung jumlah broker yang diperlukan untuk memperhitungkan vCPU:
ceiling(70 vCPUs / 15 vCPUs)= 5 brokerHitung jumlah broker yang diperlukan untuk memperhitungkan memori:
ceiling(130 GiB / 120 GiB)= 2 broker
Dalam skenario ini, cluster memiliki 5 broker, karena jumlah broker ditentukan oleh jumlah vCPU. Dua dari 3 zona masing-masing memiliki 2 broker yang ditetapkan, dan zona terakhir memiliki 1 broker.
Pengelolaan penyimpanan
Pengelolaan penyimpanan otomatis. Dalam sebagian besar situasi, Anda bertanggung jawab untuk menetapkan waktu retensi pada setiap topik untuk mengontrol biaya atau memenuhi kebijakan retensi data Anda. Anda tidak perlu menyediakan dan mengelola persistent disk.
Layanan ini mengandalkan penyimpanan bertingkat (KIP-405). Penyimpanan bertingkat menggabungkan volume persistent disk yang disediakan sebelumnya dan terpasang ke broker dengan penyimpanan objek yang hampir tidak terbatas.
Layanan ini mengalokasikan setidaknya 100 GiB SSD persistent disk untuk setiap vCPU guna menyeimbangkan performa, ketersediaan, dan biaya. Anda akan ditagih untuk 100 GiB per vCPU, meskipun ukuran disk aktual per broker mungkin melebihi nilai ini. Ukuran disk per broker tidak pernah dikurangi, meskipun cluster diturunkan skalanya.
Setiap pemimpin partisi melakukan buffering pesan dalam file segmen di persistent disk ini. Setelah segmen di-roll, segmen akan dipindahkan ke penyimpanan objek persisten
yang didukung oleh Cloud Storage regional. Ukuran file segmen ini ditetapkan oleh setelan log.roll.ms dan log.segment.bytes.
Meskipun detail ini berguna untuk dipahami, penyimpanan dikelola oleh layanan. Konfigurasi tertentu, seperti jumlah kapasitas persistent disk per vCPU, adalah detail implementasi yang mungkin berubah. Anda tidak memiliki akses langsung ke bucket Cloud Storage yang digunakan untuk penyimpanan persisten.
Penyeimbangan ulang
Agar broker yang baru disediakan berguna dalam mempertahankan performa, beberapa traffic dari broker yang ada harus dipindahkan ke mesin baru ini. Untuk mempermudah hal ini, Anda dapat mengaktifkan penyeimbangan ulang otomatis.
Dengan penyeimbangan ulang otomatis diaktifkan, saat broker baru disediakan, layanan akan otomatis menyeimbangkan ulang partisi dari broker yang ada. Model penyimpanan bertingkat memverifikasi bahwa sejumlah kecil data harus disalin ke broker baru, sehingga mempercepat penyeimbangan ulang.
Algoritma penyeimbangan ulang didasarkan pada jumlah partisi. Algoritma ini tidak memperhitungkan traffic aktual yang ditayangkan oleh setiap partisi.
Jaringan yang fleksibel
Layanan ini membuat cluster dapat diakses dari VPC mana pun dengan aman. Hal ini mencakup akses dari beberapa VPC, project, dan region.
Untuk mengonfigurasi jaringan untuk cluster, Anda harus menyediakan kumpulan subnet tempat cluster dapat diakses. Layanan ini menyediakan alamat IP pribadi untuk server bootstrap dan broker di setiap subnet. Layanan ini juga menyiapkan Cloud DNS pribadi dengan URL untuk setiap alamat IP. Server bootstrap memiliki load balancer, sehingga ada satu URL bootstrap per cluster. URL-nya sama di semua VPC sehingga konfigurasi klien dapat konsisten di seluruh lingkungan.
Tingkat fleksibilitas ini dicapai berkat Private Service Connect (PSC). Setiap alamat IP yang dialokasikan untuk cluster memerlukan endpoint PSC. Endpoint disediakan secara otomatis.
Mengamankan cluster
Layanan ini menawarkan fitur berikut untuk keamanan cluster: autentikasi, otorisasi, enkripsi, pemberian patch, dan isolasi resource. Layanan ini juga tidak mengizinkan koneksi dan penyimpanan yang tidak diautentikasi dan tidak dienkripsi.
Autentikasi
Layanan ini mendukung dua metode autentikasi: Simple Authentication and Security Layer (SASL) dan mutual TLS (mTLS). Autentikasi mTLS tersedia di cluster yang dibuat setelah 24 Juni 2025. Semua koneksi ke cluster terkelola diautentikasi dengan akun utama yang merupakan identitas IAM menggunakan SASL atau sertifikat klien menggunakan mTLS. Akun manusia, layanan, dan gabungan didukung sebagai akun utama saat menggunakan SASL.
Layanan ini tidak mendukung protokol lain, termasuk SASL/GSSAPI, SASL/SCRAM-SHA-256, dan SASL/SCRAM-SHA-512. Layanan ini juga tidak mengizinkan koneksi yang tidak diautentikasi.
Otorisasi
Layanan ini menggunakan pendekatan berlapis untuk otorisasi. IAM mengontrol tindakan pengelolaan cluster seperti membuat, memperbarui, dan menghapus resource. Otorisasi untuk akun utama yang diautentikasi bergantung pada metode yang digunakan:
SASL: Akun utama yang menggunakan IAM diotorisasi melalui Google Cloud binding peran IAM atau dengan ACL Kafka di cluster. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi autentikasi SASL.
mTLS: Akun utama yang diautentikasi dengan mTLS diotorisasi melalui Kafka ACL. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi autentikasi mTLS.
Anda dapat mengelola ACL Kafka dengan Google Cloud alat atau alat Kafka pihak ketiga. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi IAM dan ACL Kafka, lihat Kontrol akses dengan IAM dan ACL Kafka.
Enkripsi
Enkripsi diperlukan. Semua koneksi ke cluster harus menggunakan TLS. Sertifikat TLS yang ditampilkan oleh broker ditandatangani oleh Certificate Authority Publik. Data yang disimpan selalu dienkripsi. Pilih apakah akan menggunakan kunci enkripsi yang dikelola Google atau yang dikelola Pelanggan (CMEK) untuk enkripsi saat tidak digunakan.
Sedang memberikan patch
Tim layanan melacak kerentanan keamanan yang ditemukan dalam kode open source. Saat layanan menemukan kerentanan, layanan akan otomatis memberikan patch pada cluster Anda.
Isolasi resource
Fitur keamanan lain dari layanan ini adalah isolasi resource. Layanan terkelola men-deploy cluster di project tenant dalam VPC pribadi yang tidak dapat diakses melalui alamat IP publik. Setiap project Anda memiliki project tenant khusus, dengan agen layanan akun khusus. Hal ini membantu membatasi cakupan akses yang diberikan ke layanan.
Registry skema
Untuk menyederhanakan koordinasi antara produsen dan konsumen, Managed Service untuk Apache Kafka menyertakan API registry skema. Registry yang disediakan oleh layanan ini bertindak sebagai repositori skema yang dibagikan di antara aplikasi.
Layanan ini mengimplementasikan Confluent Schema Registry REST API yang membantu integrasi dengan aplikasi Kafka yang ada. Format skema Apache Avro dan Protocol Buffer (Protobuf) didukung. JSON tidak didukung.
Managed Service untuk Apache Kafka juga menawarkan API dan alat administrasi untuk mengelola registry dan skema. Alat ini mencakup Google Cloud konsol, gcloud CLI, dan library klien.
Untuk mengetahui informasi selengkapnya tentang registry skema, lihat Ringkasan registry skema.
Integrasi data dengan Kafka Connect
Managed Service untuk Apache Kafka menyederhanakan integrasi data melalui Kafka Connect. Kafka Connect menawarkan beberapa plugin konektor bawaan yang dihosting di cluster Connect. Konektor ini digunakan untuk migrasi, pencadangan, pemulihan bencana, ketersediaan tinggi, dan integrasi data. Konektor ini memungkinkan Anda menghubungkan cluster Managed Service untuk Apache Kafka ke berbagai sistem, termasuk deployment Kafka lainnya dan Google Cloud layanan seperti BigQuery, Cloud Storage, dan Pub/Sub. Kafka Connect menyediakan integrasi data yang dapat diskalakan dan andal dengan overhead operasional yang lebih rendah serta pemantauan dan logging terintegrasi.
Untuk mengetahui Kafka Connect lebih lanjut, lihat Ringkasan Kafka Connect.
Cluster dengan ketersediaan tinggi
Tujuan layanan ini adalah menyediakan cluster regional untuk aplikasi yang penting. Secara khusus, layanan ini melindungi Anda dari kegagalan zona atau broker individual.
Untuk mencapai hal ini, semua cluster disediakan dalam konfigurasi tiga zona yang mendukung rack. Konfigurasi topik default memerlukan setidaknya tiga replika. Dukungan rack memastikan bahwa replika dibuat di zona yang berbeda. Jumlah minimum replika yang sinkron default adalah dua. Artinya, cluster Anda dapat mentoleransi kehilangan zona atau broker secara lengkap.
Jika broker gagal, karena kegagalan software, hardware, atau jaringan, broker akan diganti secara otomatis. Saat layanan mendeteksi kegagalan broker, layanan akan otomatis memulai ulang broker tersebut, di mesin yang berbeda jika diperlukan. Setelah broker tersedia, Apache Kafka akan mengintegrasikan broker ke dalam cluster. Kegagalan zona lengkap mungkin membuat pembuatan broker baru menjadi tidak mungkin. Namun, cluster akan terus beroperasi selama dua zona lainnya tetap tersedia.
Selain fitur khusus ini, daftar alat dan proses internal yang terus bertambah secara proaktif mempertahankan kesehatan layanan, kode Apache Kafka, dan update. Pencadangan data dan metadata dipertahankan di beberapa level, sehingga layanan dapat pulih dari banyak kesalahan manusia dan kegagalan software.
Layanan ini tidak memberikan perlindungan dari kegagalan regional atau dua zona. Untuk aplikasi yang memerlukan tingkat perlindungan ini, sebaiknya jalankan dua cluster regional terpisah. Anda dapat menyinkronkan data antara dua cluster menggunakan alat seperti MirrorMaker 2.0 dari Kafka Connect.
Alat untuk gaya administrasi Anda
Layanan ini bertujuan untuk menawarkan kumpulan alat lengkap untuk gaya pengelolaan dan pemecahan masalah cluster Anda. Hal ini mencakup alat untuk administrasi, pemantauan, dan logging.
Managed Service untuk Apache Kafka ditampilkan sebagai Google Cloud API. Artinya, Anda dapat mengelola cluster dan resource cluster menggunakan REST dan gRPC API. Beberapa klien dan antarmuka disediakan untuk API ini, termasuk
- Penyedia Terraform jika Anda lebih memilih pendekatan infrastructure as code.
- UI di Google Cloud konsol untuk pekerjaan interaktif di browser.
- gcloud CLI untuk pekerjaan interaktif di shell.
- Library klien dalam Java, Python, Go, dan bahasa lainnya untuk pengembangan dan pembuatan skrip kustom.
Untuk pemantauan dan pemecahan masalah, layanan ini mengekspor metrik ke Cloud Monitoring. Beberapa metrik tersedia di UI layanan. Kumpulan lengkap tersedia di Cloud Monitoring untuk pekerjaan interaktif, mengonfigurasi pemberitahuan, dan mengekspor ke sistem lain.
Layanan ini juga mengekspor log broker ke Cloud Logging. Log ini dapat ditelusuri dan dapat digunakan untuk membuat metrik dan pemberitahuan berbasis log.
Upgrade dan patch
Cluster Managed Service untuk Apache Kafka berjalan di Apache Kafka versi 3.7.1. Layanan ini otomatis memberikan patch pada kerentanan keamanan penting.
Update ke infrastruktur yang mendasarinya, termasuk sistem operasi dan lapisan orkestrasi, bersifat berkelanjutan dan otomatis. Broker diupdate dengan memulai ulang secara bertahap, tanpa periode nonaktif ke cluster.
Layanan ini tidak otomatis mengupgrade kode Apache Kafka yang berjalan di broker ke versi minor baru.
Biaya transparan
Model harga untuk Managed Service untuk Apache Kafka mirip dengan biaya yang Anda lihat saat menjalankan Apache Kafka sendiri di Compute Engine. Anda membayar resource yang Anda sediakan—vCPU, RAM, dan penyimpanan lokal—dan yang Anda gunakan—penyimpanan persisten dan transfer data. Penyimpanan persisten dan vCPU lebih mahal dengan Managed Service untuk Apache Kafka dibandingkan dengan menyiapkan sistem serupa sendiri. Sebaliknya, harga transfer data dan penyimpanan lokal mirip antara Managed Service untuk Apache Kafka dan Kafka yang dikelola sendiri. Untuk mengetahui informasi selengkapnya tentang harga, lihat Harga Managed Service untuk Apache Kafka.
Kompatibel karena kami menjalankan Apache Kafka
Terakhir, Managed Service untuk Apache Kafka menjalankan software open source yang sama yang mungkin sudah Anda jalankan di lingkungan Anda. Anda tidak perlu mengubah kode aplikasi untuk memigrasikannya ke layanan.
Batasan
Managed Service untuk Apache Kafka memiliki batasan berikut:
Setiap cluster harus memiliki resource yang sama di setiap tiga zona. Cluster Managed Service untuk Apache Kafka satu zona atau dua zona tidak didukung.
Anda tidak dapat memilih zona saat membuat cluster.
Anda tidak dapat mengonfigurasi volume penyimpanan lokal di cluster.
Managed Service untuk Apache Kafka berjalan dalam mode KRaft. Mode Zookeeper tidak didukung.
JMX API untuk metrik tidak didukung.
Meskipun Anda dapat mengubah konfigurasi broker dengan mode update
read-onlykapan saja, perubahan ini hanya berlaku saat broker dimulai ulang. Mulai ulang terjadi secara berkala sebagai bagian dari proses pemeliharaan dan upgrade Google, tetapi tidak ada jadwal yang ditetapkan atau cara untuk memicunya secara manual. Akibatnya, Anda tidak dapat mengontrol kapan perubahan ini berlaku. Contoh konfigurasiread-onlymencakupauto.create.topics.enabledanbackground.threads. Update ke konfigurasi dengan mode updatecluster-wide, sepertimessage.max.bytes, tidak memerlukan mulai ulang dan segera berlaku.Beberapa parameter konfigurasi broker dikelola oleh layanan dan tidak dapat diupdate. Hal ini mencakup
broker.iddan setelan terkait penyimpanan, sepertiremote.log.storage.system.enable.
Apa langkah selanjutnya?
- Membuat cluster Managed Service untuk Apache Kafka.
- Mengirim dan menerima pesan menggunakan cluster Managed Service untuk Apache Kafka.
- Meninjau batasan Managed Service untuk Apache Kafka.
- Mempelajari harga Managed Service untuk Apache Kafka.