kafka 事务介绍
2023-02-18 16:39:46 时间
kafka事务
kafka 的事务是从0.11 版本开始支持的,kafka 的事务是基于 Exactly Once 语义的,它能保证生产或消费消息在跨分区和会话的情况下要么全部成功要么全部失败
生产者事务
当生产者投递一条事务性的消息时,会先获取一个 transactionID ,并将Producer 获得的PID 和 transactionID 绑定,当 Producer 重启,Producer 会根据当前事务的 transactionID 获取对应的PID。kafka 管理事务是通过其组件 Transaction Coordinator 来实现的,这个组件管理每个事务的状态,Producer 可以通过transactionID 从这个组件中获得 对应事务的状态,该组件还会将事务状态持久化到kafka一个内部的 Topic 中。生产者事务的场景:一批消息写入 a、b、c 三个分区,如果 ab写入成功而c失败,那么kafka就会根据事务的状态对消息进行回滚,将ab写入的消息剔除掉并通知 Producer 投递消息失败。
消费者事务
消费者事务的一致性比较弱,只能够保证消费者消费消息是精准一次的(有且只有一次)。消费者有一个参数 islation.level,这个参数指定的是事务的隔离级别。它的默认值是 read_uncommitted(未提交读),意思是消费者可以消费未commit的消息。当参数设置为 read_committed,则消费者不能消费到未commit的消息。
结语
关于kafka的事务就介绍到这,因为是概念上的知识所以内容不是很多,后续章节会通过代码来讲解kafka事务的使用。接下来我们将进入实战环节,内容包括:消息的生产与消费,事务的使用,消费者ack,消费者转发消息等。
相关文章
- Spring - 事件监听机制 源码解析
- Spring - AnnotationBeanNameGenerator Bean命名规则
- 每日一博 - instanceof vs isInstance vs isAssignableFrom
- ubuntu中安装tippecanoe并切片
- Volatile和高速缓存的关系
- Adobe Acrobat DC 2017 PDF编辑软件安装教程—pdf编辑器全版本下载
- Adobe Acrobat DC 2015 PDF编辑软件安装教程—附下载地址PDF编辑器全版本下载
- Adobe Acrobat Lite软件下载地址pdf编辑器全版本下载
- PDF编辑-Acrobat PRO DC v2021安装包
- [软件下载] Adobe Acrobat XI Pro v11.0.23(安装即激活) pdf编辑器全版本下载
- 最强大的PDF编辑器Adobe Acrobat DC Pro赶紧来领取吧~
- Adobe Acrobat Lite无需安装版—pdf编辑器全版本下载
- Adobe Acrobat DC 2018 PDF编辑软件安装教程PDF编辑器全版本下载
- TensorFlow基础
- 2022-12-18:给定一个长度为n的二维数组graph,代表一张图, graph[i] = {a,b,c,d} 表示i讨厌(a,b,c,d),讨厌关系为双向
- 客快物流大数据项目(六十九):即席查询的背景介绍和业务处理流程
- 客快物流大数据项目(七十):Impala入门介绍
- 客快物流大数据项目(七十一):impala-shell命令参数
- 客快物流大数据项目(七十三):Impala数据导入方式
- 客快物流大数据项目(七十四):Impala的java开发