私はイベントの無限の流れを持っています:
(timestamp, session_uid, traffic)
すなわち
...
(1448089943, session-1, 10)
(1448089944, session-1, 20)
(1448089945, session-2, 50)
(1448089946, session-1, 30)
(1448089947, session-2, 10)
(1448089948, session-3, 10)
...
これらのイベントを session_uid でグループ化し、各セッションのトラフィックの合計を計算します。
akka-streams
私は有限ストリームの使用で問題なく動作するフローを書きました(クックブックのこの例groupBy
に基づいた私のコード ベース)。ただし、無限ストリームでは機能しません。関数はすべての受信ストリームを処理し、その後でのみ結果を返す準備ができるためです。groupBy
タイムアウト付きのグループ化を実装する必要があると思います。つまり、指定された stream_uid のイベントを最後から 5 分以上受信しない場合は、この session_uid のグループ化されたイベントを返す必要があります。しかし、それを実装する方法akka-streams
は?