Spring 集成或 Spring 云数据流
Spring Integration or Spring Cloud Data Flow
我正在将我的一些应用程序迁移到微服务。一个示例服务是 RSS 爬虫,它使用 Spring 集成将项目发送到 Kafka。我还看到有 Spring Cloud Data Flow,它在后台使用 Spring Integration 和 Spring Batch。
如果我使用 Spring 云数据流,我会在每个微服务中使用它还是用作微服务之间的编排?
我正在尝试了解引入 Spring 云数据流的好处,而不是使用 Spring 集成使微服务尽可能轻便。
如有任何建议,我们将不胜感激。
是的,您使用 Spring 微服务和数据流中的集成来连接和编排它们。这只是 Spring 云数据流对其内部逻辑使用 Spring 集成和 Spring 批处理的副作用。
在这张图片中,您可能会错过 Spring Cloud Stream 关卡之间的事实:https://cloud.spring.io/spring-cloud-stream/
基于 SI 的 "RSS crawler" 服务可以打包为 Spring Cloud Stream 应用程序。一旦你这样做了,你的 "RSS crawler" 就会变成一个独立的事件驱动的微服务,它可以自动与 Kafka、Rabbit 或其他代理(取决于类路径中的活页夹实现)对话。同一应用程序是一种可移植工作负载,可以 运行 在任何 public 或私有云平台上。
一旦您拥有 "n" 数量的此类独立应用程序,您就需要一个更高级别的编排层来将这些应用程序组合成一致的数据管道。 Spring Cloud Data Flow 对此有所帮助。您可以使用 SCDF 的 DSL 构建如下所示的管道。
stream create foo --definition "rss-crawler | filter | transform | cassandra"
在这里,四个应用程序组合在一起形成一个数据管道。它们每个都是一个 Spring Cloud Stream 应用程序,可以独立开发和隔离测试。最后,SCDF 会将应用程序作为本机应用程序部署到 Cloud Foundry 或 Kubernetes 等目标平台上。
希望这进一步澄清。
我正在将我的一些应用程序迁移到微服务。一个示例服务是 RSS 爬虫,它使用 Spring 集成将项目发送到 Kafka。我还看到有 Spring Cloud Data Flow,它在后台使用 Spring Integration 和 Spring Batch。
如果我使用 Spring 云数据流,我会在每个微服务中使用它还是用作微服务之间的编排?
我正在尝试了解引入 Spring 云数据流的好处,而不是使用 Spring 集成使微服务尽可能轻便。
如有任何建议,我们将不胜感激。
是的,您使用 Spring 微服务和数据流中的集成来连接和编排它们。这只是 Spring 云数据流对其内部逻辑使用 Spring 集成和 Spring 批处理的副作用。
在这张图片中,您可能会错过 Spring Cloud Stream 关卡之间的事实:https://cloud.spring.io/spring-cloud-stream/
基于 SI 的 "RSS crawler" 服务可以打包为 Spring Cloud Stream 应用程序。一旦你这样做了,你的 "RSS crawler" 就会变成一个独立的事件驱动的微服务,它可以自动与 Kafka、Rabbit 或其他代理(取决于类路径中的活页夹实现)对话。同一应用程序是一种可移植工作负载,可以 运行 在任何 public 或私有云平台上。
一旦您拥有 "n" 数量的此类独立应用程序,您就需要一个更高级别的编排层来将这些应用程序组合成一致的数据管道。 Spring Cloud Data Flow 对此有所帮助。您可以使用 SCDF 的 DSL 构建如下所示的管道。
stream create foo --definition "rss-crawler | filter | transform | cassandra"
在这里,四个应用程序组合在一起形成一个数据管道。它们每个都是一个 Spring Cloud Stream 应用程序,可以独立开发和隔离测试。最后,SCDF 会将应用程序作为本机应用程序部署到 Cloud Foundry 或 Kubernetes 等目标平台上。
希望这进一步澄清。