Updated on 2024-11-11 GMT+08:00

Notes and Constraints

This section describes the notes and constraints on Distributed Message Service (DMS) for Kafka. Use your Kafka instances as prescribed to avoid program exceptions.

Any instability caused by ignorance of the notes and constraints is not covered by the SLA.

Instance

Table 1 Instance notes and constraints

Item

Notes and Constraints

Kafka ZooKeeper

Kafka clusters are managed using ZooKeeper. Opening ZooKeeper may cause misoperations and service losses. Currently, ZooKeeper is used only within Kafka clusters and does not provide services externally.

Version

  • The service version can be 1.1.0, 2.7, or 3.x. Kafka instances cannot be upgraded once they are created.
  • Clients later than version 0.10 are supported. Use a version that is consistent with the service version.

Logging in to the VM where the Kafka brokers reside

Not supported

Storage

  • The storage space of cluster instances can be expanded but cannot be reduced.
  • You can expand the storage space up to 20 times.
  • The storage space of single-node instances cannot be changed.

Bandwidth or broker quantity

  • The bandwidth and broker quantity of cluster instances can be increased but cannot be decreased.
  • The broker quantity cannot be changed for single-node instances.

Broker flavor

  • The broker flavor of cluster instances can be increased or decreased.
  • Single-replica topics do not support message creation and retrieval during this period. Services will be interrupted.
  • If a topic has multiple replicas, scaling up or down the broker flavor does not interrupt services, but may cause disorder of partition messages. Evaluate this impact and avoid peak hours.
  • Broker rolling restarts will cause partition leader changes, interrupting connections for less than a minute when the network is stable. For multi-replica topics, configure the retry mechanism on the producer client.
  • If the total number of partitions created for a cluster instance is greater than the upper limit allowed by a new flavor, scale-down cannot be performed.
  • The broker flavor of single-node instances cannot be changed.

VPC, subnet, and AZ

After an instance is created, its VPC, subnet, and AZ cannot be modified.

Kerberos authentication

Not supported

Client connections from each IP address

For instances purchased in July 2020 and later, each Kafka broker allows a maximum of 1000 connections from each IP address by default. For instances purchased before July 2020, each Kafka broker allows a maximum of 200 connections from each IP address by default. Excess connections will be rejected.

Topic

Table 2 Topic notes and constraints

Item

Notes and Constraints

Total number of topic partitions

The total number of topic partitions is related to the instance specifications. For details, see Cluster Kafka Instances.

Kafka manages messages by partition. If there are too many partitions, message creation, storage, and retrieval will be fragmented, affecting the performance and stability. If the total number of partitions of topics reaches the upper limit, you cannot create more topics.

Number of partitions in a topic

  • Based on the open-source Kafka constraints, the number of partitions in a topic can be increased but cannot be decreased.
  • To ensure performance, a partition number within 200 is recommended for each topic.

Topic quantity

The topic quantity is related to the total number of topic partitions and number of partitions in each topic. For details, see Cluster Kafka Instances.

Automatic topic creation

Supported. If this option is enabled, a topic will be automatically created when a message is produced in or consumed from a topic that does not exist. By default, the topic has the following parameters:

  • Partitions: 1 for single-node instances and 3 for cluster instances
  • Replicas: 1 for single-node instances and 3 for cluster instances
  • Aging Time: 72
  • Synchronous Replication and Synchronous Flushing disabled
  • Message Timestamp: CreateTime
  • Max. Message Size (bytes): 10,485,760

For cluster instances, after you change the value of the log.retention.hours (retention period), default.replication.factor (replica quantity), or num.partitions (partition quantity) parameter, the value will be used in later topics that are automatically created. These parameters cannot be changed for single-node instances.

For example, assume that num.partitions is changed to 5, an automatically created topic has the following parameters:

  • Partitions: 5
  • Replicas: 3
  • Aging Time: 72
  • Synchronous Replication and Synchronous Flushing disabled
  • Message Timestamp: CreateTime
  • Max.Message Size (bytes): 10,485,760

Synchronous replication

If a topic has only one replica, synchronous replication cannot be enabled.

Replica quantity

Single-replica topics are not recommended for cluster instances. If an instance node is faulty, an internal service error may be reported when you query messages in a topic with only one replica. Therefore, you are not advised to use a topic with only one replica.

Aging time

The value of the log.retention.hours parameter takes effect only if the aging time has not been set for the topic.

For example, if the aging time of Topic01 is set to 60 hours and log.retention.hours is set to 72 hours, the actual aging time of Topic01 is 60 hours.

Batch importing and exporting topics

Batch export is supported, but batch import is not supported.

Topic name

If a topic name starts with a special character, for example, a number sign (#), monitoring data cannot be displayed.

Delay queues

Not supported

Broker faults

When some brokers of an instance are faulty, topics cannot be created, modified, or deleted, but can be queried.

Consumer Group

Table 3 Consumer group notes and constraints

Item

Notes and Constraints

Creating consumer groups, consumers, and producers

  • When parameter auto.create.groups.enable is set to true, you do not need to create a consumer group, producer, or consumer because they are generated automatically when you use the instance.
  • When parameter auto.create.groups.enable is set to false, you need to create a consumer group, but do not need to create a producer or consumer.

Resetting the consumer offset

Messages may be retrieved more than once after the offset is reset.

Consumer group name

If a consumer group name starts with a special character, for example, a number sign (#), monitoring data cannot be displayed.

Broker faults

When some instance brokers are faulty, consumer groups cannot be created, modified, or deleted, or consumption progress cannot be reset, but consumer groups can be queried.

Message

Table 4 Message notes and constraints

Item

Notes and Constraints

Message size

The maximum length of a message is 10 MB. If the length exceeds 10 MB, the production fails.

User

Table 5 User notes and constraints

Item

Notes and Constraints

Number of users

The maximum users that can be created for a Kafka instance is 20 or 500. Check the console for the actual limit.

Broker faults

When some instance brokers are faulty, users cannot be created, modified, or deleted, or password cannot be reset, but users can be queried.