Java Apache Kafka Streams API或生产者/消费者API

Java Apache Kafka Streams API或生产者/消费者API,java,spring-boot,apache-kafka,apache-kafka-streams,Java,Spring Boot,Apache Kafka,Apache Kafka Streams,希望这不是一个目光短浅的问题,但我一直在努力理解ApacheKafka是如何工作的。我一直在尝试创建一个流式服务,该服务将采用POST方法提供的简单pojo,根据pojo的时间戳触发一个时间窗口,并提供一个pojo列表,该pojo也在该窗口时间范围内发布到流式服务 我已经学习了几个不同的教程,现在我有了一个流媒体服务,它有一个定制的消费者和生产者工厂,并进行配置,使用Spring注释来收听主题。因此,我可以发送和接收带有序列化的POJO,只需消费者和生产者API即可 我遇到的问题是实现窗口时间和

希望这不是一个目光短浅的问题,但我一直在努力理解ApacheKafka是如何工作的。我一直在尝试创建一个流式服务,该服务将采用POST方法提供的简单pojo,根据pojo的时间戳触发一个时间窗口,并提供一个pojo列表,该pojo也在该窗口时间范围内发布到流式服务

我已经学习了几个不同的教程,现在我有了一个流媒体服务,它有一个定制的消费者和生产者工厂,并进行配置,使用Spring注释来收听主题。因此,我可以发送和接收带有序列化的POJO,只需消费者和生产者API即可

我遇到的问题是实现窗口时间和存储窗口记录的方法。我不确定是只使用Streams API、消费者/生产者API,还是将它们全部一起使用。我正试图作为一个SpringBoot应用程序来实现这一点。这是我第一次处理类似的问题,任何形式的指导或见解都将不胜感激


谢谢。

卡夫卡制作人和消费者用于从代理中推拉数据,这使其工作起来像一个消息服务。如果要使用标准的卡夫卡制作者和消费者,可能需要自己实现流逻辑

但是,使用Kafka Streams,以及消息传递服务功能,Kafka还可以为您处理流逻辑,以便您可以专注于业务逻辑


所以,我建议使用卡夫卡流。您还可以查看支持windows和流处理功能(如Esper和Siddhi)的CEP(连续事件处理)引擎

毫无疑问,对我来说,使用卡夫卡流。KS为您提供了一个简单的界面,用于构建您想要进行的转换、连接、窗口操作的应用程序类型。。。不要担心消费者/生产者api,KS将为您提供。