Transactions in Apache Kafka

在上一篇博客中,我们介绍了kafka的一次性语义。这篇博客将涵盖多个消息投递语义,介绍幂等生产者、事务生产者以及kafka stream的一次性语义。

Transactional Semantics

atomic multi-partition writes

Transaction实现了写入多个topic和partition的原子写入。例如,如果消费者在topic partition tp0的offset X处消费了消息A,并且在将消息A进行某些处理后在topic parition tp1处写入了消息B。那么只有在消息A在被成功消费和消息B成功发布时,这个读写周期才认为时原子的。

现在,消息A被认为从topic partition tp0成功消费,是当offset X被标记为Consumed的时候。标记一个offset为consumed称为commit an offset。在kafka中,我们通过将offset写入一个offset topic,来记录offset commited。

既然一个offset commit只是写入另一个topic,因此,不同topic和partition之间的原子写入,也可以启用原子 读-处理-写周期。

翻译自:Transactions in Apache Kafka

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值