Kafka幂等性与事务
发布时间
阅读量:
阅读量
目录
-
生产者幂等性
-
- 幂等性实现
-
Kafka事务特性
-
- 基本概念
- 事务流程
生产者幂等性
Kafka的幂等性体现在其机制设计中的一致性和稳定性特性上,在这种特性下无论向系统中提交多少次相同的请求记录,在目标存储层只会被持久化一次以避免冗余存储的问题同时保证数据的一致性不会出现丢失或重复的情况
- Kafka的幂等性仅能确保单一对话的有效性。若broker节点出现故障并重启后无法恢复之前的状态信息,则该幂等性将不再成立。
- 幂等性的特性仅适用于单个Topic-Partition场景,在跨Topic-Partition的情况下实现幂等则需依赖事务机制。
幂等性用来解决什么问题?
幂等性主要用于应对数据冗余问题,在Kafka系统中确保每个会话分区内的数据不会被多次处理。旧版本中采用isr+ack机制以确保消息不丢失(isr指确认重传、ack表示acks确认),但无法防止数据冗余。例如,在网络请求延时导致重试操作时(发送请求发生延时后系统会自动重试),由于服务器无法得知该请求是否已被处理(未记录前一次操作的状态信息),可能会出现相同请求的再次提交情况。这种情况是由Kafka自身异常重试机制引发的数据冗余现象所导致的。
幂等性实现
配置属性
将producer的配置参数设置为
全部评论 (0)
还没有任何评论哟~
