zoukankan      html  css  js  c++  java
  • kafka 如何不消费重复数据?比如扣款,我们不能重复的扣?

    其实还是得结合业务来思考我这里给几个思路

    比如你拿个数据要写库你先根据主键查一下如果这数据都有了你就别插入 

    ,update 一下好吧

    比如你是写 Redis,那没问题了反正每次都是 set,天然幂等性

    比如你不是上面两个场景那做的稍微复杂一点你需要让生产者发送每条数据 

    的时候里面加一个全局唯一的 id,类似订单 id 之类的东西然后你这里消费 

    到了之后先根据这个 id 去比如 Redis 里查一下之前消费过吗如果没有消 

    费过你就处理然后这个 id  Redis。如果消费过了那你就别处理了 

    证别重复处理相同的消息即可

    比如基于数据库的唯一键来保证重复数据不会重复插入多条因为有唯一键约束 

    重复数据插入只会报错不会导致数据库中出现脏数据

    Java Program!
  • 相关阅读:
    DB2创建序列
    hibernate注解影射表
    自定义异常类一
    【JVM】java方法区
    【JVM】java棧
    (2)java堆内存
    (1)java虚拟机概念和结构图
    枚举应用五
    设计模式之命令模式学习理解
    eclipse中javadoc给项目生成api文档
  • 原文地址:https://www.cnblogs.com/programb/p/12995963.html
Copyright © 2011-2022 走看看