0

我是非常新的Akka Streaming和反應流。我有一個問題:是否有可能讓一個剩餘API接收一條消息,將其放在Kafka Bus上,然後Kafka流消費者將消息聚合到最大值。時間窗口並重新回到答案?反應流Kafka流扇出到http演員

如何實現這樣一個系統?或從哪裏開始?

感謝

回答

1

對於其餘API可以考慮卡夫卡REST代理:https://github.com/confluentinc/kafka-rest 或者你當然可以改爲建立自己的使用阿卡-HTTP和阿卡流 - 卡夫卡。

至於開窗,我敢肯定,它可以在阿卡流來完成,但就個人而言,我建議使用卡夫卡流呼叫的第一站: http://docs.confluent.io/current/streams/developer-guide.html#windowing

我不知道究竟你意思是通過返回答案,但如果您遵循上述方法,則可以使用使用REST Proxy來消費窗口聚合的消息,或者可以構建一個REST服務,通過所謂的「交互式查詢」查詢Kafka Streams狀態存儲」。這篇文章演示瞭如何使用javax.ws.rs:https://www.confluent.io/blog/unifying-stream-processing-and-interactive-queries-in-apache-kafka/,但是對於被動應用程序,您可以使用akka-http來完成相同的操作(我在我的一個項目中實現了這個確切的事情)。