Message Queue for Apache Kafka has specific limits. When you use Message Queue for Apache Kafka, do not exceed these limits to prevent exceptions in your application.
The Service Level Agreement (SLA) does not cover instability caused by exceeding these limits.
Usage limits
The following table lists the usage limits for Message Queue for Apache Kafka.
|
Item |
Limit |
Description |
|
Total number of topics (total partitions) |
Limited |
In Message Queue for Apache Kafka, storage and coordination occur at the partition level. Too many topics (or total partitions) can lead to storage fragmentation, which degrades cluster performance and stability. |
|
Minimum number of partitions per topic |
|
If traffic is high, a single partition can become a hotspot and cause data skew. Configure an appropriate number of partitions. |
|
Decreasing the number of partitions for a topic |
Not supported |
This is an inherent design limitation of Apache Kafka. |
|
Exposing ZooKeeper |
Not supported |
Since Apache Kafka 0.9.0, clients no longer need to access ZooKeeper. The ZooKeeper used by Message Queue for Apache Kafka is partially shared and is not exposed for security reasons. Your applications do not need to access ZooKeeper. |
|
Logging on to the machine where Message Queue for Apache Kafka is deployed |
Not supported |
None. |
|
Supported versions |
2.2.x to 3.3.x |
To upgrade the instance version, see Upgrade an instance version. |
|
Partition-to-topic ratio |
1:1 |
The number of available topics is directly related to the total number of partitions. For example, if you purchase an instance of the alikafka.hw.2xlarge specification with 50 purchased partitions and 1,000 free partitions, the total number of partitions is 50 + 1,000 = 1,050. In this case, you can use up to 1,050 topics. Note
This applies only to non-serverless instances. |
|
Changing the region of an instance |
Not supported |
Once an instance is deployed, its region is fixed and cannot be changed. To change the region, release the instance and purchase a new one. |
|
Changing the network properties of an instance |
Supported |
You can change the network properties as needed. For more information, see Upgrade instance configurations. |
|
Message size |
10 MB |
Messages cannot exceed 10 MB. Larger messages are rejected. |
|
Monitoring and alerting |
Supported |
Monitoring data is delayed by 1 minute. |
|
Endpoint |
Depends on the purchased edition |
|
|
Single-partition topics that use cloud storage |
May become unavailable during downtime or upgrades. |
Create topics with more than one partition. If you must use a single partition, select local storage. Note
|
|
Maximum number of messages per batch |
32,767 |
If individual messages are very small, set Note
This limit applies only to non-serverless instances. |
Message Queue for Apache Kafka no longer supports purchasing non-serverless instances based on topic editions. For existing instances purchased this way, the topic-to-partition ratio is 1:16. For Professional Edition instances, the number of topics is double the number of purchased topics.
Quota limits
The following table lists the quota limits for Message Queue for Apache Kafka. Exceeding these limits may cause stability issues. The "Other limits" section lists scenarios that may negatively affect the server. Use these features carefully to avoid overloading the server and impacting stability.
Unless otherwise specified, the limits apply per cluster. To request a quota increase, submit a ticket.
In the table, "//" indicates integer division, which rounds down.
|
Item |
Limit |
Description |
|||
|
Non-serverless instances |
Serverless (Basic) |
Serverless (Standard and Professional) |
Hard limit |
||
|
Connections per node |
Formula:
|
Formula:
|
Yes |
The number of TCP connections on a single broker. To increase the connection limit, submit a ticket. When the limit is exceeded, new connections are established slowly, and the least recently used (LRU) connections are terminated. |
|
|
SSL connections per node |
Formula:
|
Formula:
|
Yes |
The number of SSL TCP connections on a single broker. When the limit is exceeded, new connections are established slowly, and the least recently used (LRU) connections are terminated. |
|
|
Connection establishment rate per node |
50/second |
150/second |
150/second |
Yes |
The number of connection attempts per second between a client and a server. This includes failed attempts for reasons such as authentication failure. When the limit is exceeded, new connections are established slowly. |
|
SSL connection establishment rate per node |
10/second |
Yes |
The number of SSL connection attempts per second between a client and a server. This includes failed attempts for reasons such as authentication failure. When the limit is exceeded, new connections are established slowly. |
||
|
Batch size |
A batch size with a 50th percentile (TP50) below 4 KB is considered fragmented. |
No |
The size of a message batch in a PRODUCE request. Fragmented batches (frequent, small batches) increase server CPU load and affect cluster stability. Use client versions 2.4 or later to improve batching. For more information, see Improve send performance (reduce fragmented requests). |
||
|
Produce request rate per cluster |
Formula:
|
Formula:
|
Formula:
|
No |
The number of PRODUCE requests sent by clients per second. A high request rate can increase the server's CPU load and affect cluster stability. To increase the request limit, submit a ticket. |
|
Fetch request rate per cluster |
Formula:
|
Formula:
|
Formula:
|
No |
The number of FETCH requests from clients per second. A high request rate can increase the server's CPU load and affect cluster stability. To increase the request limit, submit a ticket. |
|
Offset commit rate per node |
Formula:
|
Formula:
|
No |
The number of OFFSET_COMMIT requests sent by clients per second. A high request rate can increase the server's CPU load and affect cluster stability. To increase the request limit, submit a ticket. |
|
|
Metadata request rate per cluster |
Formula:
|
Formula:
|
No |
Client metadata requests received by the server, such as Warning
An excessive request rate can affect cluster stability. |
|
|
Maximum number of partitions |
For the maximum number of partitions for different instance specifications, see Instance specifications and partition limits. |
Yes |
The total number of partitions across all topics. If the limit is exceeded, you cannot create new topics or add partitions. To increase the partition limit, submit a ticket. |
||
|
Partition creation/deletion rate per cluster |
900 partitions per 10 seconds |
No |
This includes all partition operations performed via the console, API, or Kafka Admin tools. |
||
|
Number of consumer groups per cluster |
2,000 per cluster The recommended subscription ratio of topics to groups is 1:1, and it should not exceed 3:1. |
No |
The number of consumer groups used by clients. To increase the group limit, submit a ticket. Warning
An excessive number of consumer groups can increase the coordinator load on the server and complicate metadata management, which affects performance and failure recovery time. |
||
|
Message format version |
The message format version for producing and consuming messages must be V1 or later. |
Yes |
We recommend using client versions 2.4 or later. Warning
Using an older Kafka message format can prevent messages from being produced or consumed and can lead to issues such as increased server CPU usage, decreased throughput, and compatibility or security problems. |
||
|
Invalid timestamp interception |
When |
Yes |
The client receives a clear error: INVALID_TIMESTAMP (32, "The timestamp of the message is out of acceptable range."). |
||
|
Compacted topic size limit |
Compacted topics are not enabled by default. |
Yes |
Compacted topics are disabled by default to prevent abnormal write patterns from exhausting cluster storage and causing a crash. If you require this feature, submit a ticket. |
||
|
Other limits |
|
No |
None |
||