All Products
Search
Document Center

ApsaraMQ for Kafka:Batasan

Last Updated:May 22, 2026

Message Queue for Apache Kafka memiliki batasan tertentu. Saat menggunakan Message Queue for Apache Kafka, pastikan Anda tidak melebihi batasan ini untuk mencegah terjadinya exception pada aplikasi Anda.

Penting

Service Level Agreement (SLA) tidak mencakup ketidakstabilan yang disebabkan oleh pelanggaran batasan ini.

Batasan penggunaan

Tabel berikut mencantumkan batasan penggunaan untuk Message Queue for Apache Kafka.

Item

Batas

Deskripsi

Jumlah total topik (total partisi)

Dibatasi

Pada Message Queue for Apache Kafka, penyimpanan dan koordinasi dilakukan di tingkat partisi. Terlalu banyak topik (atau total partisi) dapat menyebabkan fragmentasi penyimpanan, yang menurunkan kinerja dan stabilitas kluster.

Jumlah minimum partisi per topik

  • Instans subscription dan pay-as-you-go:

    • Untuk topik yang menggunakan cloud storage: 2

    • Untuk topik yang menggunakan local storage: 1

  • Instans serverless:

    • Untuk topik yang menggunakan cloud-native storage: 1

Jika traffic tinggi, satu partisi saja dapat menjadi hotspot dan menyebabkan data skew. Konfigurasikan jumlah partisi yang sesuai.

Mengurangi jumlah partisi untuk suatu topik

Tidak didukung

Ini merupakan keterbatasan desain bawaan Apache Kafka.

Mengekspos ZooKeeper

Tidak didukung

Sejak Apache Kafka 0.9.0, client tidak lagi memerlukan akses ke ZooKeeper. ZooKeeper yang digunakan oleh Message Queue for Apache Kafka sebagian bersifat shared dan tidak diekspos karena alasan keamanan. Aplikasi Anda tidak perlu mengakses ZooKeeper.

Masuk ke mesin tempat Message Queue for Apache Kafka dideploy

Tidak didukung

Tidak ada.

Versi yang didukung

2.2.x hingga 3.3.x

  • Instans non-serverless mendukung versi 2.2.x hingga 2.6.x.

  • Instans serverless mendukung versi 3.3.x.

Untuk melakukan upgrade versi instans, lihat Upgrade versi instans.

Rasio partisi terhadap topik

1:1

Jumlah topik yang tersedia secara langsung berkaitan dengan jumlah total partisi. Misalnya, jika Anda membeli instans dengan spesifikasi alikafka.hw.2xlarge yang memiliki 50 partisi berbayar dan 1.000 partisi gratis, jumlah total partisi adalah 50 + 1.000 = 1.050. Dalam kasus ini, Anda dapat menggunakan hingga 1.050 topik.

Catatan

Hal ini hanya berlaku untuk instans non-serverless.

Mengubah wilayah instans

Tidak didukung

Setelah instans dideploy, wilayahnya bersifat tetap dan tidak dapat diubah. Untuk mengganti wilayah, release instans tersebut dan beli instans baru.

Mengubah properti jaringan instans

Didukung

Anda dapat mengubah properti jaringan sesuai kebutuhan. Untuk informasi lebih lanjut, lihat Upgrade konfigurasi instans.

Ukuran pesan

10 MB

Pesan tidak boleh melebihi 10 MB. Pesan yang lebih besar akan ditolak.

Monitoring dan alerting

Didukung

Data monitoring mengalami keterlambatan selama 1 menit.

Endpoint

Tergantung edisi yang dibeli

  • Instans non-serverless:

    • Edisi Standar: Mendukung endpoint default dan SSL endpoint.

    • Edisi Profesional: Mendukung endpoint default, SSL endpoint, dan SASL endpoint.

  • Instans serverless: Mendukung endpoint default, SSL endpoint, dan SASL endpoint.

Topik single-partition yang menggunakan cloud storage

Dapat menjadi tidak tersedia selama downtime atau upgrade.

Buat topik dengan lebih dari satu partisi. Jika Anda harus menggunakan satu partisi, pilih local storage.

Catatan
  • Batasan ini hanya berlaku untuk instans non-serverless. Pada instans serverless, cloud storage dengan single-partition bersifat highly available.

  • Hanya instans Edisi Profesional yang mendukung pemilihan local storage saat membuat topik. Fitur ini tidak tersedia untuk instans Edisi Standar.

Jumlah maksimum pesan per batch

32.767

Jika ukuran pesan individual sangat kecil, atur batch.size ke nilai yang tidak lebih dari 16.384.

Catatan

Batas ini hanya berlaku untuk instans non-serverless.

Catatan

Message Queue for Apache Kafka tidak lagi mendukung pembelian instans non-serverless berdasarkan edisi topik. Untuk instans yang sudah ada yang dibeli dengan cara ini, rasio topik terhadap partisi adalah 1:16. Pada instans Edisi Profesional, jumlah topik adalah dua kali lipat dari jumlah topik yang dibeli.

Batasan kuota

Tabel berikut mencantumkan batasan kuota untuk Message Queue for Apache Kafka. Melebihi batasan ini dapat menyebabkan masalah stabilitas. Bagian "Batasan Lainnya" mencantumkan skenario yang berpotensi berdampak negatif pada server. Gunakan fitur-fitur tersebut dengan hati-hati untuk menghindari overload server dan menjaga stabilitas sistem.

Kecuali dinyatakan lain, batasan berlaku per kluster. Untuk meminta peningkatan kuota, submit a ticket.

Dalam tabel, "//" menunjukkan operasi pembagian bilangan bulat yang dibulatkan ke bawah.

Item

Batas

Deskripsi

Instans non-serverless

Serverless (Basic)

Serverless (Standard dan Profesional)

Batas keras

Koneksi per node

  • Dimulai dari 1.000.

  • Bertambah 1.000 untuk setiap tambahan 100 MB/detik traffic produksi aktual.

  • Maksimum: 10.000.

Rumus:

C = min(10000, 1000 + (F // 100) * 1000)

  • Dimulai dari 2.000.

  • Bertambah 1.000 untuk setiap tambahan 300 MB/detik kapasitas produksi yang dipesan.

  • Maksimum: 10.000.

Rumus:

C = min(10000, 2000 + (F // 300) * 1000)

Ya

Jumlah koneksi TCP pada satu broker.

Untuk meningkatkan batas koneksi, kirim tiket.

Saat batas terlampaui, koneksi baru dibuat secara perlahan, dan koneksi least recently used (LRU) akan dihentikan.

Koneksi SSL per node

  • Dimulai dari 200.

  • Bertambah 100 untuk setiap tambahan 100 MB/detik traffic produksi aktual.

  • Maksimum: 1.000.

Rumus:

C = min(1000, 200 + (F // 100) * 100)

  • Dimulai dari 200.

  • Bertambah 100 untuk setiap tambahan 300 MB/detik kapasitas produksi yang dipesan.

  • Maksimum: 1.000.

Rumus:

C = min(1000, 200 + (F // 300) * 100)

Ya

Jumlah koneksi TCP SSL pada satu broker.

Saat batas terlampaui, koneksi baru dibuat secara perlahan, dan koneksi least recently used (LRU) akan dihentikan.

Laju pembentukan koneksi per node

50/detik

150/detik

150/detik

Ya

Jumlah upaya koneksi per detik antara client dan server. Ini termasuk upaya gagal karena alasan seperti kegagalan autentikasi.

Saat batas terlampaui, koneksi baru dibuat secara perlahan.

Laju pembentukan koneksi SSL per node

10/detik

Ya

Jumlah upaya koneksi SSL per detik antara client dan server. Ini termasuk upaya gagal karena alasan seperti kegagalan autentikasi.

Saat batas terlampaui, koneksi baru dibuat secara perlahan.

Ukuran batch

Ukuran batch dengan persentil ke-50 (TP50) di bawah 4 KB dianggap terfragmentasi.

Tidak

Ukuran batch pesan dalam permintaan PRODUCE. Batch terfragmentasi (batch kecil yang sering) meningkatkan beban CPU server dan memengaruhi stabilitas kluster. Gunakan versi client 2.4 atau lebih baru untuk meningkatkan batching. Untuk informasi lebih lanjut, lihat Tingkatkan kinerja pengiriman (kurangi permintaan terfragmentasi).

Laju permintaan per kluster

  • Dimulai dari 10.000 permintaan/detik.

  • Bertambah 2.000 untuk setiap tambahan 20 MB/detik traffic produksi aktual.

Rumus:

R = 10000 + (F // 20) * 2000

  • Dimulai dari 10.000 permintaan/detik.

  • Bertambah 5.000 untuk setiap tambahan 300 MB/detik kapasitas produksi yang dipesan.

Rumus:

R = 10000 + (F // 300) * 5000

  • Dimulai dari 10.000 permintaan/detik.

  • Bertambah 2.000 untuk setiap tambahan 60 MB/detik kapasitas produksi yang dipesan.

Rumus:

R = 10000 + (F // 60) * 2000

Tidak

Jumlah permintaan PRODUCE yang dikirim client per detik. Laju permintaan tinggi dapat meningkatkan beban CPU server dan memengaruhi stabilitas kluster.

Untuk meningkatkan batas permintaan, kirim Tiket.

Laju permintaan fetch per kluster

  • Dimulai dari 5.000 permintaan/detik.

  • Bertambah 1.000 untuk setiap tambahan 20 MB/detik traffic konsumsi aktual.

Rumus:

R = 5000 + (F // 20) * 1000

  • Dimulai dari 5.000 permintaan/detik.

  • Bertambah 2.500 untuk setiap tambahan 100 MB/detik kapasitas subscription yang dipesan.

Rumus:

R = 5000 + (F // 100) * 2500

  • Dimulai dari 5.000 permintaan/detik.

  • Untuk setiap peningkatan 20 MB/detik throughput subscription yang dipesan, jumlah permintaan per detik bertambah 1.000.

Rumus:

R = 5000 + (F // 20) * 1000

Tidak

Jumlah permintaan FETCH dari client per detik. Laju permintaan tinggi dapat meningkatkan beban CPU server dan memengaruhi stabilitas kluster.

Untuk meningkatkan batas permintaan, submit a ticket.

Laju commit offset per node

  • Dimulai dari 100 permintaan/detik.

  • Bertambah 100 untuk setiap tambahan 100 MB/detik traffic produksi aktual.

  • Maksimum: 1.000 permintaan/detik.

Rumus:

R = min(1000, 100 + (F // 100) * 100)

  • Dimulai dari 100 permintaan/detik.

  • Bertambah 100 untuk setiap tambahan 100 MB/detik kapasitas produksi yang dipesan.

  • Maksimum: 1.000 permintaan/detik.

Rumus:

R = min(1000, 100 + (F // 100) * 100)

Tidak

Jumlah permintaan OFFSET_COMMIT yang dikirim client per detik. Laju permintaan tinggi dapat meningkatkan beban CPU server dan memengaruhi stabilitas kluster.

Untuk meningkatkan batas permintaan, kirim Tiket.

Laju permintaan metadata per kluster

  • Dimulai dari 100 permintaan/detik.

  • Bertambah 100 untuk setiap tambahan 100 MB/detik traffic produksi aktual.

  • Maksimum: 1.000 permintaan/detik.

Rumus:

R = min(1000, 100 + (F // 100) * 100)

  • Dimulai dari 100 permintaan/detik.

  • Bertambah 100 untuk setiap tambahan 100 MB/detik kapasitas produksi yang dipesan.

  • Maksimum: 1.000 permintaan/detik.

Rumus:

R = min(1000, 100 + (F // 100) * 100)

Tidak

Permintaan metadata client yang diterima server, seperti METADATA, INIT_PRODUCER_ID, CREATE_ACL, dan JOIN_GROUP.

Peringatan

Laju permintaan yang berlebihan dapat memengaruhi stabilitas kluster.

Jumlah maksimum partisi

Untuk jumlah maksimum partisi berdasarkan spesifikasi instans yang berbeda, lihat Spesifikasi instans dan batasan partisi.

Ya

Jumlah total partisi di semua topik. Jika batas terlampaui, Anda tidak dapat membuat topik baru atau menambah partisi.

Untuk meningkatkan batas partisi, kirim Tiket.

Laju pembuatan/penghapusan partisi per kluster

900 partisi per 10 detik

Tidak

Ini mencakup semua operasi partisi yang dilakukan melalui Konsol, API, atau alat Kafka Admin.

Jumlah kelompok konsumen per kluster

2.000 per kluster

Rasio subscription yang direkomendasikan antara topik dan kelompok adalah 1:1, dan sebaiknya tidak melebihi 3:1.

Tidak

Jumlah kelompok konsumen yang digunakan oleh client.

Untuk meningkatkan batas kelompok, submit a ticket.

Peringatan

Jumlah kelompok konsumen yang berlebihan dapat meningkatkan beban coordinator di server dan mempersulit manajemen metadata, yang berdampak pada kinerja dan waktu pemulihan kegagalan.

Versi format pesan

Versi format pesan untuk memproduksi dan mengonsumsi pesan harus V1 atau lebih baru.

Ya

Kami merekomendasikan penggunaan versi client 2.4 atau lebih baru.

Peringatan

Penggunaan format pesan Kafka lama dapat mencegah pesan diproduksi atau dikonsumsi serta menyebabkan masalah seperti peningkatan penggunaan CPU server, penurunan throughput, dan masalah kompatibilitas atau keamanan.

Intersepsi timestamp tidak valid

Saat message.timestamp.type=CreateTime, broker menolak pesan jika selisih antara timestamp broker saat menerima dan timestamp dalam pesan melebihi nilai message.timestamp.difference.max.ms yang dikonfigurasi. Konfigurasi ini mencegah pengaturan timestamp yang salah. Jika timestamp diatur terlalu jauh ke masa lalu, segmen log dapat langsung dihapus. Jika diatur terlalu jauh ke masa depan, segmen log mungkin tidak pernah dihapus.

Ya

Client menerima error yang jelas: INVALID_TIMESTAMP (32, "The timestamp of the message is out of acceptable range.").

Batas ukuran topik compacted

Topik compacted tidak diaktifkan secara default.

Ya

Topik compacted dinonaktifkan secara default untuk mencegah pola penulisan abnormal menghabiskan penyimpanan kluster dan menyebabkan crash.

Jika Anda memerlukan fitur ini, kirim Tiket.

Batasan lainnya

  • Mengaktifkan algoritma kompresi seperti GZIP mengonsumsi lebih banyak sumber daya server, yang dapat meningkatkan latency dan mengurangi throughput.

  • Menginisialisasi sejumlah besar transaksi dengan frekuensi tinggi untuk mendapatkan Producer Id dapat menyebabkan error out-of-memory (OOM) dan overload server, yang memengaruhi stabilitas. Oleh karena itu, kami telah menyesuaikan parameter kernel transactional.id.expiration.ms menjadi 60 menit. Jika Anda memiliki kebutuhan khusus, submit a ticket.

  • Jika utilisasi CPU instans melebihi 85%, hal ini dapat memengaruhi stabilitas kluster dan menyebabkan masalah seperti downtime atau fluktuasi latency long-tail dalam produksi dan konsumsi pesan.

  • Kinerja Kafka bergantung pada kluster. Jika perilaku produksi atau penugasan partisi Anda tidak merata, Anda mungkin tidak dapat memanfaatkan kapasitas kluster secara optimal.

  • Fitur messaging transaksional open source memiliki banyak masalah yang diketahui dan belum diperbaiki, seperti KAFKA-12671. Gunakan fitur ini dengan hati-hati. Untuk informasi lebih lanjut, lihat KAFKA ISSUES.

  • Duplikasi pesan dapat terjadi di Kafka dalam berbagai skenario, seperti saat rebalance. Untuk mencegah dampak bisnis akibat pesan duplikat, implementasikan logika konsumsi idempoten.

Tidak

Tidak ada