When creating a DTS task to synchronize or migrate data to an Apache Kafka instance, you select a message acknowledgement (acks) mechanism, which persistently stores messages that are delivered. This controls how many broker replicas must confirm receipt before DTS considers a message delivered—and determines the trade-off between throughput and data durability.
DTS supports three acks mechanisms, each corresponding to a standard Kafka delivery guarantee.
Mechanism comparison
| Mechanism | Throughput | Data durability | Recommended for |
|---|---|---|---|
| Don't wait for any confirmation | Highest | Lowest — messages can be lost silently | Log collection, monitoring data |
| Wait for confirmation from the master node | Moderate | Moderate — loss possible if leader fails before replication completes | Most scenarios (recommended) |
| Waiting for confirmation of all ISR | Lowest | Highest — loss only if all replicas fail | Financial transactions, order processing |
Mechanism details
Don't wait for any confirmation
The producer sends a message and does not wait for any response from the broker. The message is considered sent as soon as it leaves the producer.
Throughput: Highest — no round-trip wait.
Data loss risk: High. The producer has no way to detect delivery failures.
Use when reliability is not critical, such as for log collection or monitoring data.
Wait for confirmation from the master node
The producer waits for the leader replica to write the message to its local log before the broker returns a response. Follower replicas do not need to confirm.
Throughput: Moderate.
Data loss risk: Moderate. If the leader fails after acknowledging the message but before followers replicate it, the message is lost.
Use when you need a balance of performance and reliability. This is the right choice for most scenarios. DTS recommends this mechanism.
Waiting for confirmation of all ISR
The producer waits for all in-sync replicas (ISRs) to acknowledge the message before the broker responds.
Throughput: Lowest.
Data loss risk: Lowest. Messages are lost only if all replicas fail.
Use when data loss is unacceptable, such as for financial transactions or order processing.
Configure the mechanism
Go to the Configure Objects step of a DTS data synchronization or migration task and select Message acknowledgement mechanism.