kafka transaction Kafka 事务特性分析
1、特性背景
支持事务消息有什么作用?
消息事务是实现分布式事务的一种方案,可以确保分布式场景下的数据最终一致性。
2、分布式事务介绍
当前系统架构主流是分布式架构与微服务架构
在这种架构下数据源不是单一的数据库,业务逻辑往往需要在多个数据库中实现原子操作,单个数据库中的强大的本地事务无法保证多节点原子操作。
3、Kafka事务的使用
Kafka中的事务特性主要用于以下两种场景:
(1)生产者发送多条消息可以封装在一个事务中,形成一个原子操作。多条消息要么都发送成功,要么都发送失败。
(2)read-process-write模式:将消息消费和生产封装在一个事务中,形成一个原子操作。在一个流式处理的应用中,常常一个服务需要从上游接收消息,然后经过处理后送达到下游,这就对应着消息的消费和生成。<