我不确定我是否理解Spring Cloud Data Flow(SCDF)和Apache Kafka Brokers(及其相关的Zookeeper)之间的关系。
我阅读了几篇文档并观看了有关Spring Cloud Data Flow(SCDF)的网络研讨会。我理解在这个框架中不同微服务之间的通信的不同绑定选项(RabbitMQ,Kafka,...)。
我找到了很多关于如何使用Kafka的信息,但没有找到运行/操作的地方。我的假设是否正确,您必须独立于SCDF安装/管理/运营Kafka经纪人(+ Zookeeper)? SCDF"只是"使用Kafka代理进行内部通信,并且 - 可选 - 用于微服务中的业务逻辑(例如,使用Kafka Producer或Consumer API,对吧?
即使我使用像Mesos或Kubernetes这样的框架用于SCDF,Kafka Brokers(+ ZK)仍可以自己运行,也可以在Mesos或Kubernetes或其他地方运行。
SCDF可用于部署与Kafka经纪人通信的Kafka应用程序 - 这可以是Kafka消费者/制作人,Kafka Streams应用程序,甚至是Kafka Connect或KSQL等Kafka生态系统的其他部分。所有这些都可以在SCDF的Spring Boot应用程序/微服务中运行。
这些陈述是否正确,还是我错过了什么?
答案 0 :(得分:3)
SCDF“just”使用Kafka代理进行内部通信,并且 - 可选 - 用于微服务中的业务逻辑(例如,使用Kafka Producer或Consumer API,对吧?
要明确的是,SCDF 不会在内部使用Kafka或任何其他经纪人。应用程序本身在运行时依赖它。这些应用程序专门基于Spring Cloud Stream编程模型。 SCDF简单地将这些应用程序编排成完全一致的数据管道。您可以分别阅读有关编程模型以及它们如何与here和here中的binder实现(代理)交互的更多详细信息。
即使我使用像Mesos或Kubernetes这样的框架用于SCDF,Kafka Brokers(+ ZK)仍可以自己运行,也可以在Mesos或Kubernetes或其他地方运行。
是 - 没有任何这些个别系统的托管。预计它们将分别运行和运作。
答案 1 :(得分:1)
是的,您需要管理代理,数据流不会管理或部署您的中间件基础架构,例如消息代理或数据库