美文网首页
0005.Kafka事务处理与幂等性

0005.Kafka事务处理与幂等性

作者: 笑着字太黑 | 来源:发表于2022-04-15 13:38 被阅读0次
    1.幂等性

    在kafka中,生产者再进行重试的时候有可能会重复写入相同的消息(比如,第一次写消息给broker, broker写入日志之后,发送ack失败。生产者误以为broker没收到改消息,所以根据retry 进行重发,这就导致了消息的重复),而使用kafka的幂等性功能之后就可以避免这种情况。

    2.开启幂等性

    enable.idempotence设置为true就可以(默认为false。)

    3.事务处理与幂等性

    在开启事务处理和listener设置以下属性时会自动开启enable.idempotence为true
    properties = {"isolation.level:read_committed"}

    5.开启幂等性后,相关配置需要注意

    如果用户自定了retries参数,那么这个参数的值必须大于0,如果用户没定义这个参数,那么该参数的值就是Integer.MAX_VALUE;

    如果用户自定了max.in.flight.request.per.connection, 要保证不能大于5.默认值是5。

    max.in.flight.request.per.connection 表示生产者向指定broker发送的消息中,还未到达的个数。类似于tcp协议中滑动窗口里面未到达窗口的概念。它可以用来衡量该客户端一定时间段内到指定broker的网络通信情况。

    如果用户自定了acks参数,那么就需要保证这个参数为-1。

    相关文章

      网友评论

          本文标题:0005.Kafka事务处理与幂等性

          本文链接:https://www.haomeiwen.com/subject/vkzfertx.html