美文网首页
Kafka生产者事务和幂等

Kafka生产者事务和幂等

作者: 为你变乖_09e6 | 来源:发表于2018-06-19 10:31 被阅读0次

本文概览:在Kafka 0.11.0.0引入了EOS(exactly once semantics,精确一次处理语义)的特性,这个特性包括kafka幂等性和kafka事务两个属性。本小节对这个属性进行介绍。

1 生产者幂等性

1.1 引入

幂等性引入目的:

生产者重复生产消息。生产者进行retry会产生重试时,会重复产生消息。有了幂等性之后,在进行retry重试时,只会生成一个消息。

1.2 幂等性实现

1.2.1 PID 和 Sequence Number

为了实现Producer的幂等性,Kafka引入了Producer ID(即PID)和Sequence Number。

PID。每个新的Producer在初始化的时候会被分配一个唯一的PID,这个PID对用户是不可见的。

Sequence Numbler。(对于每个PID,该Producer发送数据的每个都对应一个从0开始单调递增的Sequence Number。

Broker端在缓存中保存了这seq number,对于接收的每条消息,如果其序号比Broker缓存中序号大于1则接受它,否则将其丢弃。这样就可以实现了消息重复提交了。但是,只能保证单个Producer对于同一个<Topic,Partition>的Exactly Once语义。不能保证同一个Producer一个topic不同的partion幂等。

实现幂等之后

1.2.2 生成PID的流程

在执行创建事务时,如下

相关文章

  • Kafka生产者事务和幂等

    本文概览:在Kafka 0.11.0.0引入了EOS(exactly once semantics,精确一次处理语...

  • Kafka专题:5.kafka幂等发送与事务

    kafka在0.11之后,开始支持幂等发送和事务,那么分别是如何实现的呢? 幂等发送引入producerid +s...

  • Kafka事务及幂等

    消息系统的用户从更严格的幂等生产者语义中获益良多,即每个消息写将被精确地持久化一次,没有重复和数据丢失——即使在客...

  • kafka幂等/事务特性

    https://blog.csdn.net/oTengYue/article/details/104727512[...

  • 消息队列之kafka-高级应用

    1、幂等与事务 所谓的幂等,简单地说就是对接口的多次调用所产生的结果和调用一次是一致的 。生产者在进行重试的时候有...

  • Kafka生产者幂等机制

    转自文章 http://www.devtalking.com/articles/kafka-practice-4/...

  • Kafka科普系列 | Kafka中的事务是什么样子的?

    事务,对于大家来说可能并不陌生,比如数据库事务、分布式事务,那么Kafka中的事务是什么样子的呢? 幂等 在说Ka...

  • A(18) Kafka数据重复

    幂等性+ack-1+事务Kafka数据重复,可以再下一级:SparkStreaming、redis或者hive中d...

  • Kafka事务分析

    Kafka 幂等性 Kafka幂等性含义幂等性起初是在HTTP协议中定义,是指一次和多次请求同一个资源对资源本身应...

  • 解决消息的幂等消费

    通过消息的分区和位移来判断消息是否被消费。或者对性能要求不高的话,可以考虑接入事务来处理。kafka消息幂等: P...

网友评论

      本文标题:Kafka生产者事务和幂等

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