消息确认机制

更新时间:2025-03-10 01:43:13

在使用数据传输服务DTS(Data Transmission Service)将数据同步或迁移至Kafka实例时,您可以选择消息的确认机制(即Acks,发送消息的持久化机制)。本文为您介绍DTS支持的消息确认机制、优缺点及其适用场景。

消息确认机制

机制名称

说明

优缺点

适用场景

机制名称

说明

优缺点

适用场景

不等待任何确认

生产者(Producer)在发送消息后,无需等待服务端的响应。一旦消息被发送至服务端,生产者即认为该消息已成功发送。

  • 优势:性能较高、吞吐量较高。

  • 缺点:可靠性低,数据丢失风险较大。

适用于对消息可靠性要求不高的场景,例如日志收集、监控数据等。

等待主节点的确认

生产者在发送消息后,会等待服务端Leader副本(主副本)的确认。当Leader副本接收到消息并将其写入本地日志后,将向生产者返回确认信息。

说明

建议使用此机制。

  • 优势:适用场景多。

  • 缺点:性能中等、数据丢失风险中等。

    当主副本(主节点)宕机时,可能会导致数据丢失。

适用于大多数场景,特别是对性能和可靠性都有一定要求的场景。

等待所有ISR的确认

生产者在发送消息后,会等待服务端所有同步副本ISR(In-Sync Replicas)的确认。只有当所有ISR副本都成功接收到消息并将其写入本地日志后,才会向生产者返回确认信息。

  • 优势:数据较为安全。

    当所有副本都宕机时,才会导致数据丢失。

  • 缺点:性能较差。

适用于对消息可靠性要求高的场景,例如金融交易、订单处理等。

配置方法

您需要在配置DTS实例(数据同步或迁移)的对象配置阶段,选择消息确认机制

  • 本页导读 (1)
  • 消息确认机制
  • 配置方法