【问题标题】:Combining data coming from multiple kafka to single kafka将来自多个 kafka 的数据组合到单个 kafka
【发布时间】:2020-04-20 03:00:53
【问题描述】:
我有 N 个 Kafka 主题,带有数据和时间戳,我需要将它们组合成一个带有排序时间戳顺序的主题,其中数据在分区内排序。我有一种方法可以做到这一点。
将 Cassandra 中的所有 Kafka 主题数据(因为它的快速写入)与聚类顺序为 DESCENDING 组合,它会将它们全部组合,但限制是,如果在数据延迟的时间累积窗口之后,它不会被排序
还有其他合适的方法吗?如果没有,那么我的解决方案是否有任何改进的机会。
谢谢
【问题讨论】:
标签:
apache-kafka
cassandra
【解决方案1】:
不清楚为什么需要 Kafka 对时间戳进行排序。通常,这仅在每批消息的消费时间完成。
例如,创建读取所有主题的 Kafka Streams 进程。创建一个全局 KTable 并启用交互式查询。
当您查询时,您会在客户端对数据进行排序,而不管它在主题中是如何排序的。
这样,您就不再局限于一个有序的分区。
或者,我会写信给 Cassandra 以外的其他东西(因为我对它缺乏深入的了解)。例如,Couchbase 或 CockroachDB。
然后当您稍后查询时,运行SORT BY