Kafka主题顺序

问题描述 投票:0回答:1

我有一个使用类似以下内容的Kafka连接器:

SELECT CAST ( id as VARCHAR) as key_id, id ...
FROM table1 
JOIN (SELECT id as tID FROM table1 t WHERE t.id = 87002) v 
ON v.tID = id 

如果我针对数据库执行,使用ORDER BY ID,则可以按照我期望的顺序获得记录,并带有以下ID:>

322633
324066
324084
324107

我已经指定了连接器的拉力增量,因此连接器将遵守以下规定:

WHERE id > ? ORDER BY id ASC 

在这里我很困惑。在此连接器写入的流中,记录以不同的顺序显示!他们在

322633
324084
324107
324066   (huh!!!?) 

任何帮助理解这种行为的方法都将非常有用。

[我有一个Kafka连接器,使用类似以下内容的内容:SELECT CAST(id为VARCHAR)作为key_id,id ... FROM table1 JOIN(SELECT id为tID FROM table1 t WHERE t.id = 87002)v ON v.tID = id如果...

jdbc apache-kafka apache-kafka-connect
1个回答
0
投票

Kafka是分布式消息传递系统,因此即使从源数据库按顺序获取消息,但消息将基于定义的密钥分布在主题的多个分区上。Kafka保证维护每个分区的顺序,而不是跨分区。

因此,消费者可以以任何顺序从主题中获得消费消息,而在消费者方没有担保人订单。

© www.soinside.com 2019 - 2024. All rights reserved.