Untuk Message Queue for Confluent, banyak faktor memengaruhi penggunaan sumber daya, termasuk skenario bisnis dan kinerja aplikasi. Topik ini memberikan panduan referensi untuk evaluasi sumber daya Message Queue for Confluent berdasarkan skenario umum, membantu Anda mengevaluasi skala kluster saat pembelian dan pembuatan kluster. Setelah kluster dibuat, Anda dapat mengubah konfigurasi sumber daya melalui penskalaan horizontal sesuai dengan pemanfaatan aktual.
Komponen arsitektur
Message Queue for Confluent adalah platform data streaming yang mengelola dan mengatur data dari berbagai sumber, menyediakan sistem stabil dan efisien. Seperti ditunjukkan pada gambar berikut, terdiri dari enam komponen: Kafka Broker, Rest Proxy, Connect, Zookeeper, ksqlDB, dan Control Center.
Secara default, jumlah replika untuk komponen Kafka Broker, Rest Proxy, Connect, Zookeeper, ksqlDB, dan Control Center dalam Message Queue for Confluent masing-masing adalah 3, 2, 2, 3, 2, dan 1. Anda juga dapat menyesuaikan jumlah replika sesuai kebutuhan bisnis.

Evaluasi sumber daya kluster
Evaluasi sumber daya Kafka Broker
Pertama, evaluasi persyaratan bisnis Anda. Parameter persyaratan tercantum dalam tabel berikut.
Parameter persyaratan
Deskripsi parameter
Faktor fan-out
Berapa kali data yang ditulis akan dikonsumsi oleh konsumen, tidak termasuk lalu lintas replikasi di dalam Broker.
Data inflow puncak
Lalu lintas puncak data bisnis, satuan: MB/s.
Data inflow rata-rata
Lalu lintas rata-rata data bisnis, satuan: MB/s.
Periode retensi data
Periode retensi data, default adalah 7 hari.
Faktor replikasi partisi
Faktor replikasi partisi, default adalah 3, artinya setiap partisi memiliki 3 replika.
Estimasi jumlah node Broker: Secara ideal, satu Kafka Broker mendukung lalu lintas maksimum hingga 100 MB/s. Kluster produksi memerlukan minimal 4 node Broker dengan redundansi bandwidth IO sebesar 50%. Selain itu, setiap Broker tidak boleh melebihi 2.000 replika partisi, dan seluruh kluster tidak boleh melebihi 200.000 replika partisi. Jika total replika partisi besar, evaluasi jumlah broker berdasarkan total partisi.
CatatanJumlah node Broker = Maks(4, inflow data puncak × (faktor fan-out + 2 × faktor replikasi partisi - 1) × 2 / 400 MB/s).
Estimasi jumlah CU per Broker: Karena jumlah CU bergantung pada konfigurasi kluster, klien, penggunaan, jumlah partisi, ukuran kluster, serta jumlah Produsen dan Konsumen, sulit untuk memperkirakannya. Untuk kluster produksi, gunakan lebih dari 8 CU per Broker; untuk kluster pengembangan dan pengujian, gunakan 4 CU per Broker. Setiap Broker dengan 4 CU tidak boleh melebihi 100 replika pemimpin atau 300 replika partisi (termasuk replika pemimpin).
Estimasi ukuran disk per Broker: Ukuran disk per Broker = Maks(1TB, inflow data rata-rata × periode retensi data × faktor replikasi partisi / jumlah node Broker).
Evaluasi sumber daya Connect
Evaluasi jumlah node: Disarankan memilih 2 atau lebih node untuk memastikan ketersediaan tinggi Connect.
Evaluasi CU: Disarankan memilih 8 atau lebih CU per node.
Evaluasi sumber daya Schema Registry
Untuk Schema Registry dalam lingkungan produksi, disarankan mengonfigurasi 2 node dengan 2 CU per node.
Evaluasi sumber daya Control Center
Untuk Control Center dalam lingkungan produksi, disarankan mengonfigurasi 1 node dengan lebih dari 4 CU sumber daya komputasi dan lebih dari 300 GB penyimpanan data.
Evaluasi sumber daya KsqlDB
Evaluasi jumlah node: Disarankan memilih 2 atau lebih node untuk memastikan ketersediaan tinggi ksqlDB.
Evaluasi CU: Disarankan memilih 4 atau lebih CU per node.
Evaluasi penyimpanan: Ukuran penyimpanan ksqlDB bergantung pada jumlah pernyataan agregasi dan kueri konkuren, dengan nilai default 100 GB.
Evaluasi sumber daya REST Proxy
Evaluasi jumlah node: Disarankan memilih 2 atau lebih node untuk memastikan ketersediaan tinggi REST Proxy.
Evaluasi CU: Jika Anda perlu terus memproduksi dan mengonsumsi pesan melalui REST Proxy, pilih 8 atau lebih CU per node. Jika tidak, pilih 4 CU per node.
Perbandingan kinerja sumber daya kluster
Tabel berikut menunjukkan perubahan total throughput kluster dan latensi single Producer dengan jumlah CU yang berbeda. Pilih jumlah CU kluster sesuai dengan lalu lintas data bisnis dan persyaratan latensi Anda.
Hasil pengujian diperoleh dalam kondisi pengujian dengan spesifikasi kluster 4-Broker, single Topic, 300 Partisi, 60 Produser, dan ukuran pesan tunggal 1 KB. Mungkin ada beberapa perbedaan kinerja antara skenario bisnis aktual dan lingkungan pengujian.
Spesifikasi kluster | Total throughput kluster tanpa kontrol aliran | Throughput rata-rata Produser tanpa kontrol aliran | Latensi rata-rata tanpa kontrol aliran | Total throughput kluster dengan latensi kurang dari 100ms |
Single Broker 4 CU | 370 MB/s | 5,95 MB/s | 9.718 ms | 130 MB/s |
Single Broker 8 CU | 400 MB/s | 7,33 MB/s | 8.351 ms | 195 MB/s |
Single Broker 12 CU | 400 MB/s | 7,39 MB/s | 8.343 ms | 240 MB/s |
Single Broker 16 CU | 400 MB/s | 7,47 MB/s | 8.335 ms | 290 MB/s |
Single Broker 20 CU | 400 MB/s | 7,58 MB/s | 8.237 ms | 305 MB/s |
Secara default, Message Queue for Confluent memiliki spesifikasi 4-Broker dengan kinerja kluster 400 MB/s throughput. Untuk meningkatkan throughput kluster, lakukan penskalaan horizontal. Setiap penambahan Broker meningkatkan throughput kluster sebesar 100 MB/s.
Saat menambahkan Broker secara horizontal, konfigurasikan 8 CU atau lebih per Broker untuk memastikan jumlah CU tidak menjadi bottleneck yang memengaruhi kinerja throughput kluster.
Tabel berikut mencantumkan kinerja throughput kluster, kemampuan pemrosesan pesan, dan jumlah Partisi yang didukung dengan jumlah Broker yang berbeda.
Spesifikasi kluster | Throughput kluster | Pesan diproses per jam | Jumlah Partisi yang didukung dengan throughput 1MB/s per Partisi |
4 Broker | 400 MB/s | 1,47 miliar | 400 |
8 Broker | 800 MB/s | 2,95 miliar | 800 |
12 Broker | 1.200 MB/s | 4,42 miliar | 1.200 |
16 Broker | 1.600 MB/s | 5,9 miliar | 1.600 |
20 Broker | 2.000 MB/s | 7,37 miliar | 2.000 |
Dalam skenario tipikal, nilai throughput Partisi yang direkomendasikan adalah antara 1 MB/s dan 5 MB/s. Untuk skenario dengan persyaratan latensi rendah, batasi ukuran throughput setiap Partisi. Saat jumlah Partisi mencapai jumlah tertentu, throughput kluster akan menurun dan latensi akan meningkat.
Rekomendasi pemilihan spesifikasi kluster
Berikut rekomendasi spesifikasi kluster untuk skenario tipikal. Lihat juga Dokumentasi Resmi Confluent.
Skenario | Direkomendasikan untuk lingkungan produksi | Direkomendasikan untuk lingkungan pengujian | ||||
Spesifikasi kluster | Spesifikasi produksi (throughput 400MB/s, tidak termasuk lalu lintas replikasi) | Spesifikasi minimum (throughput 300MB/s, tidak termasuk lalu lintas replikasi) | ||||
Matriks konfigurasi | CU | Disk | Node | CU | Disk | Node |
Kafka Brokers | 12 | 3 TB | 4 | 4 | 1 TB | 3 |
Zookeeper | 4 | 100 GB | 3 | 2 | 100 GB | 3 |
Kafka Connect | 12 | N/A | 2 | 4 | N/A | 2 |
Control Center | 12 | 300 GB | 1 | 4 | 250 GB | 1 |
Schema Registry | 2 | N/A | 2 | 2 | N/A | 2 |
REST Proxy | 16 | N/A | 2 | 4 | N/A | 2 |
KsqlDB | 4 | 100 GB | 2 | 4 | 100 GB | 2 |
Setelah membuat kluster, Anda dapat menyesuaikan konfigurasi sumber daya kluster sesuai kebutuhan bisnis pada spesifikasi yang berbeda.
Aturan alokasi sumber daya komponen kluster
Tabel berikut mencantumkan rentang konfigurasi sumber daya untuk setiap komponen.
Pilih konfigurasi spesifikasi kluster yang sesuai dalam rentang sumber daya berikut sesuai kebutuhan bisnis Anda.
Komponen Produk | Versi yang Didukung | Jumlah Replika | CU per Komponen Node | Disk per Node (dalam kelipatan 100 GB) |
Kafka Brokers | Edisi Profesional/Edisi Enterprise | Nilai default: 3 Nilai minimum: 3 Nilai maksimum: 20 | Nilai default: 4 Nilai minimum: 4 Nilai maksimum: 20 | Nilai default: 1000 GB Rentang: 1000 GB - 30000 GB |
ZooKeeper | Edisi Profesional/Edisi Enterprise | Nilai default: 3 Nilai minimum: 3 Nilai maksimum: 3 | Nilai default: 2 Nilai minimum: 2 Nilai maksimum: 20 | Nilai default: 100 GB Rentang: 100 GB - 30000 GB |
Control Center | Edisi Profesional/Edisi Enterprise | Nilai default: 1 Nilai minimum: 1 Nilai maksimum: 20 | Nilai default: 4 Nilai minimum: 4 Nilai maksimum: 20 | Nilai default: 300 GB Rentang: 300 GB - 30000 GB |
Schema Register | Edisi Profesional/Edisi Enterprise | Nilai default: 2 Nilai minimum: 2 Nilai maksimum: 3 | Nilai default: 2 Nilai minimum: 2 Nilai maksimum: 20 | Tidak ada penyimpanan |
Kafka Connect | Edisi Profesional/Edisi Enterprise (dipilih secara default, dapat dicentang untuk tidak menggunakan fungsi komponen ini) | Nilai default: 2 Nilai minimum: 2 Nilai maksimum: 20 | Nilai default: 8 Nilai minimum: 4 Nilai maksimum: 20 | Tidak ada penyimpanan |
KsqlDB | Edisi Profesional/Edisi Enterprise (dipilih secara default, dapat dicentang untuk tidak menggunakan fungsi komponen ini) | Nilai default: 2 Nilai minimum: 2 Nilai maksimum: 20 | Nilai default: 4 Nilai minimum: 4 Nilai maksimum: 20 | Nilai default: 100 GB Rentang: 100 GB - 30000 GB |
Rest Proxy | Edisi Profesional/Edisi Enterprise (dipilih secara default, dapat dicentang untuk tidak menggunakan fungsi komponen ini) | Nilai default: 2 Nilai minimum: 2 Nilai maksimum: 20 | Nilai default: 8 Nilai minimum: 4 Nilai maksimum: 20 | Tidak ada penyimpanan |
Referensi
Confluent menyediakan alat evaluasi sumber daya untuk Kafka dan Confluent Platform, yang berlaku untuk Message Queue for Confluent. Untuk informasi lebih lanjut, lihat Kalkulator Ukuran untuk Apache Kafka dan Confluent Platform.