我正在尝试为流式分析设计流式架构。要求:
- RT 和 NRT 流数据输入
- 实现一些财务分析的流处理器
- RT 和 NRT 分析输出流
- 流处理时引用数据请求
我正在探索用于流处理和 RT/NRT 实时消息传递的 Kafka 和 Kafka Streams。我的问题是:我需要在流处理期间对外部系统(信息提供者、MongoDB 等)执行一些查询。根据外部系统特征,这些查询可以是同步和异步请求响应。
我读过这篇文章,解释如何在处理过程中加入 KStream 和 KTable,这很有趣,但在这种情况下,KTable 不依赖于来自 KStream 的输入参数,它只是表的流表示。
我需要为每个 KStream 消息查询外部系统,将一些消息字段作为查询参数传递,并用查询结果丰富流式消息,然后将丰富的消息发布到输出主题。是否有任何统一的范式来设计这种流处理?有什么我最好使用的特定技术吗?请记住,查询可以是同步和异步的。
我还想为这些外部系统设计包装器,实现一种分布式 RPC,可从 Kafka 流处理中调用。你能推荐任何技术/框架吗?我正在考虑使用 Akka 演员来分发查询响应者,但我不明白 Akka 是否适合请求-响应范式。
谢谢