在事件驱动的设计中,我们努力找出我们感兴趣的事件。使用Kafka,我们可以很容易地订阅(一个新的group.id
(一个主题并开始消费事件。如果保留策略是默认策略,那么如果指定auto.offset.reset=earliest
,我们也可以使用一周前的消息。正确的但是,如果我们想从开始怎么办?我想应该使用KTable,但我不确定当一个新客户端订阅了一个有状态流时会发生什么。你能告诉我,新订户将收到所有聚合消息是真的吗?
您不能使用已删除的数据。
这就是为什么KTables是建立在压缩主题之上的,它将存储每个记录的最新密钥,并具有无限的保留期。
如果你想阅读";当前状态";要获取所有聚合消息,则可以使用交互式查询。
不确定当新客户端订阅有状态流时会发生什么
它需要从头开始读取整个压缩主题(最早可用的偏移量,不一定是第一条生成的消息(,因为它无法轻松找到每个唯一键在主题中的起始位置。