首页 > 解决方案 > 用于大容量数据处理的 Spring Kafka 或 Kafka 流 Spring boot 应用程序

问题描述

我正在使用 Spring boot、Kafka 和 QuickFIX/J 为银行创建一个大容量 JSON 数据处理应用程序。这是我第一次使用 Kafka 和 QuickFIX/J 等技术,无法决定我应该使用普通的 Kafka spring 还是 Kafka 流或 spring 云流。这是要求:

  1. 从多个 Kafka 主题中读取数据
  2. 处理数据并将其发送到 QuickFIX/J 启动器,该启动器进一步将其发送到外部 FIX 引擎
  3. QuickFIX/J 接收器从外部 FIX 引擎接收数据并将其再次写回多个 Kafka 主题,但这次不同

我看过的教程/文章说,如果您同时拥有消费者/生产者,执行大量数据流并希望实现一次处理,那么 Kafka 流或 Spring Cloud 流是很好的。但是,这里我需要在处理后将数据发送给外部方,接收它然后写入 Kafka 主题。

使用 Kafka 流是一个不错的选择吗?还是我应该与普通的生产者和消费者一起使用spring kafka?

标签: apache-kafka-streamsspring-kafkaspring-cloud-streamquickfixfix-protocol

解决方案


Spring Cloud Stream 只是 Spring 之上用于 Apache Kafka 的更高级别、固执己见的抽象。它可以处理您的用例(有几个“接收器”示例应用程序)。

类似地,Kafka Streams 不一定必须向 Kafka 输出(尽管这是它的设计目的)。

最快的入口可能是 Spring Cloud Stream(或 Spring for Apache Kafka with Spring Boot),因为大多数 cookie-cutter 配置都已为您提供,您只需专注于业务逻辑即可。


推荐阅读