我是Akka Streaming和反应式流媒体的新手。我有一个问题:是否有可能让一个休息API接收一条消息,将其丢弃在Kafka总线上,然后Kafka流消费者将消息汇总到最大值。时间窗口,然后回复回答?
如何实施这样的系统?或者从哪里开始?
谢谢
答案 0 :(得分:1)
对于其他API,您可以考虑使用Kafka REST代理:https://github.com/confluentinc/kafka-rest 或者你可以使用akka-http和akka-stream-kafka构建自己的。
关于开窗,我确信它可以在akka流中完成,但就个人而言,我建议使用Kafka Streams作为第一个停靠点: http://docs.confluent.io/current/streams/developer-guide.html#windowing
我不确定你的回答是什么意思,但是如果你按照上面的方法,你可以使用REST代理来使用窗口聚合的消息,或者你可以构建一个查询的REST服务Kafka Streams通过所谓的"互动查询"来存储商店。这篇文章展示了如何使用javax.ws.rs:https://www.confluent.io/blog/unifying-stream-processing-and-interactive-queries-in-apache-kafka/来做到这一点,但是对于一个被动的应用程序,你可以使用akka-http来做同样的事情(我在我的一个项目中实现了这个确切的东西)