要求是我想编写一个 Akka 流应用程序,它侦听来自 Kafka 的连续事件,然后根据嵌入在每个事件中的一些 id 值在一个时间范围内对事件数据进行会话化。
例如,假设我的时间框架窗口是两分钟,在前两分钟我得到以下四个事件:
输入:
{"message-domain":"1234","id":1,"aaa":"bbb"}
{"message-domain":"1234","id":2,"aaa":"bbb"}
{"message-domain":"5678","id":4,"aaa":"bbb"}
{"message-domain":"1234","id":3,"aaa":"bbb"}
然后在输出中,在对这些事件进行分组/会话化之后,根据它们的消息域值,我将只有两个事件。
输出:
{"message-domain":"1234",messsages:[{"id":1,"aaa":"bbb"},{"id":2,"aaa":"bbb"},{"id":4,"aaa":"bbb"}]}
{"message-domain":"5678",messsages:[{"id":3,"aaa":"bbb"}]}
我希望这能实时发生。关于如何实现这一目标的任何建议?