Spring integration Spring集成或Spring云数据流

Spring integration Spring集成或Spring云数据流,spring-integration,microservices,spring-cloud-dataflow,Spring Integration,Microservices,Spring Cloud Dataflow,我正在将我的一些应用程序迁移到微服务。一个示例服务是RSS爬虫,它使用Spring集成将项目发送到Kafka。我还看到了Spring云数据流,它使用Spring集成和Spring批处理 如果我使用Spring云数据流,我会在每个微服务中使用它,还是将它用作微服务之间的编排 我试图理解引入Spring云数据流的好处,而不是使用Spring集成使微服务尽可能轻 任何建议都将不胜感激。没错,您可以在微服务和数据流中使用Spring集成来连接和协调它们。这只是Spring云数据流使用Spring集成和S

我正在将我的一些应用程序迁移到微服务。一个示例服务是RSS爬虫,它使用Spring集成将项目发送到Kafka。我还看到了Spring云数据流,它使用Spring集成和Spring批处理

如果我使用Spring云数据流,我会在每个微服务中使用它,还是将它用作微服务之间的编排

我试图理解引入Spring云数据流的好处,而不是使用Spring集成使微服务尽可能轻


任何建议都将不胜感激。

没错,您可以在微服务和数据流中使用Spring集成来连接和协调它们。这只是Spring云数据流使用Spring集成和Spring批处理作为其内部逻辑的一个副作用

在这张图片中,您可能忽略了Spring Cloud Stream级别介于两者之间的事实:

基于SI的“RSS爬虫”服务可以打包为Spring Cloud Stream应用程序。完成后,“RSS爬虫”将变成一个独立的事件驱动微服务,它可以自动与Kafka、Rabbit或其他代理进行对话(取决于类路径中的绑定器实现)。同一个应用程序是一个可移植的工作负载,可以在任何公共或私有云平台上运行

一旦您有了“n”个这样的独立应用程序,您就需要一个更高级别的编排层来将这些应用程序组合成一个连贯的数据管道。Spring云数据流有助于实现这一点。您可以使用SCDF的DSL构建如下所示的管道

流创建foo——定义“rss爬虫|过滤器|转换|卡桑德拉”

这里,四个应用程序组合在一起形成一个数据管道。它们中的每一个都是SpringCloudStream应用程序,可以独立开发和测试。最后,SCDF将把应用程序作为本机应用程序部署到目标平台上,如Cloud Foundry或Kubernetes


希望这能进一步澄清

谢谢Artem,我会尝试一下。谢谢Sabby提供的信息,非常有用。这个答案比我以前阅读的所有文档更好地描述了什么是“Spring云数据流”。我真的不明白这是为了什么,我到底需要不需要它。直到这个职位。谢谢