与Kafka主题上发送的每个密钥对应的最后一个值

时间:2017-04-24 07:02:42

标签: apache-kafka kafka-consumer-api

我们配置了Kafka主题,我们在该主题上发布我们全天交易的每只股票的累计报告。 例如股票A - 买50,卖60,股票B - 买44,卖34等。出版时的关键是股票的RIC代码。

第二天,我希望所有消费者分别获得每个股票的最后发布头寸。我想了解如何配置Kafka生产者/消费者以实现此行为。

有一件事是为每个股票创建一个分区,这将导致每个股票的个别抵消,所有消费者都可以指向最高偏移并获得最新头寸。

这是正确的方法还是我错过了一些明显的东西?

1 个答案:

答案 0 :(得分:0)

您的方法可行,但前提是您不必过多关注时间边界 - 例如,您不需要单独计算每一天的计数,严格要求只发生事件之间,[01/25/2017 00:00 - 01/26/2017 00:00]必须计算在内。

如果您确实需要以严格的方式每天获取计数 - 您可以尝试使用Kafka Streams,将RIC的密钥和窗口设置为基于事件时间戳的24小时。

这只是另一种方法 - 我确信有更多方法可用!