如何实现去重和幂等

fbe38a5a7d4d58d1cf217eaea9cfc56f.png

若有收获,请记得分享和转发哦

面试官要不你来讲讲你最近在看的点呗?可以拉出来一起讨论下

候选者:最近在看「去重」和「幂等」相关的内容

面试官那你就先来聊聊你对「去重」和「幂等」的理解吧

候选者:我认为「幂等」和「去重」它们很像,我也说不出他们之间的严格区别

候选者:我说下我个人的理解,我也不知道对不对

候选者:「去重」是对请求或者消息在「一定时间内」进行去重「N次」

候选者:「幂等」则是保证请求或消息在「任意时间内」进行处理,都需要保证它的结果是一致的

候选者:不论是「去重」还是「幂等」,都需要对有一个「唯一 Key」,并且有地方对唯一Key进行「存储」

f8b6a5df722fe3560c68446c0c7e01f5.png

26a339cfbcd5ac1b21f10163da737333.png

e89c979d44efa5b0a607020990e43fa2.png

3e49f4430bb46179576e88def0167908.png

cd01e67fbf4c37a08d73e7a69d5112b3.png

76345704d0efd48b38cd7e3f805fb87e.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kafka提供了两个关键的特性来确保消息的一致性和可靠性:幂等性和事务性。 1. 幂等性(Idempotent):Kafka的生产者可以配置为幂等生产者,即保证在发送消息时不会产生重复消息。幂等性意味着无论发送多少次相同的消息,最终结果都是一样的,不会导致副作用。幂等性生产者通过在消息中添加序列号来实现,Kafka在接收到重复消息时会自动去重,确保只有一条消息被写入。 2. 事务性(Transactional):Kafka从0.11版本开始引入了事务性支持。事务性消费者可以以事务的方式读取和处理消息,同时也支持事务性生产者在写入消息时保持原子性。事务性消费者可以确保读取的消息在被处理后不会被重复消费,并且在处理失败时可以回滚事务。事务性生产者可以将多个写操作组合为一个原子事务,要么全部成功提交,要么全部回滚。 使用幂等性和事务性可以帮助确保在Kafka中进行消息的可靠处理和传递。幂等性消费者和事务性消费者可以避免重复消费和数据不一致的问题,而幂等性生产者和事务性生产者可以确保消息的原子性写入和可靠提交。 需要注意的是,启用事务性和幂等性特性会增加一定的性能开销,因此在使用时需要权衡性能和一致性的需求,并根据实际情况进行配置和调整。同时,事务性和幂等性特性也需要结合Kafka的相应API和配置进行正确的使用和管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值