Kafka系列之:Exactly-once support
Kafka Connect 能够为接收器连接器(从版本 0.11.0 开始)和源连接器(从版本 3.3.0 开始)提供一次性语义。请注意,对一次语义的支持高度依赖于您运行的连接器类型。即使您在集群中每个节点的配置中设置了所有正确的工作线程属性,如果连接器未设计为或无法利用 Kafka Connect 框架的功能,则可能无法实现精确一次。
一、Sink connectors
如果接收器连接器支持精确一次语义,要在 Connect 工作线程级别启用精确一次,您必须确保其使用者组配置为忽略中止事务中的记录。您可以通过将工作线程属性consumer.isolation.level设置为read_commissed来完成此操作。
或者如果运行支持它的Kafka Connect版本,则使用允许设置consumer.override.isolation.level属性的连接器在各个连接器配置中读取已提交。没有额外的 ACL 要求。
二、Source connectors
如果源连接器支持一次性语义,则必须配置 Connect 集群以启用对一次性源连接器的框架级支持。如果针对安全的 Kafka 集群运行,可能需要额外的 ACL。请注意,对源连接器的一次性支持目前仅在分布式模式下可用;独立的 Connect 工作线程无法提供一次性语义。
本文介绍了Kafka Connect如何为Sink和Source connectors提供Exactly-once语义,强调了支持条件、worker配置以及所需的ACL。对于Sink connectors,需要设置consumer.isolation.level为read_committed,而Source connectors的一次性支持目前仅在分布式模式下可用。
订阅专栏 解锁全文
1174

被折叠的 条评论
为什么被折叠?



