←←←←←←←←←←←← 快!点关注
Spring Cloud Stream最近添加了一项Function,可将函数定义组合到现有的Spring Cloud Stream应用程序中。在本博客中,我们将看到Spring Cloud Data Flow如何利用此功能在Streaming管道中组合函数。
它有什么不同?
在Spring Cloud Data Flow中,流数据管道由Spring Cloud Stream应用程序组成,开发人员可以选择开箱即用的流应用程序,其中包含许多常见用例。开发人员还可以使用Spring Cloud Stream框架扩展这些开箱即用的应用程序或创建自定义应用程序。
Spring Cloud Stream 2.1.0 GA 已经集成了一个基于Spring Cloud Function-based编程模型,可以使用java.util.Function,一个java.util.Consumer,和一个java.util.Supplier表示业务逻辑,其相应的对应的角色是Spring Cloud Stream中的Processor,Sink和Source。
鉴于这种两者结合映射的灵活性,Spring Cloud Stream框架现在支持一种简单但功能强大的函数组合方法。这种函数组合可以是源Source和处理器Processor组合成一个单个应用程序:“新源Source”;或者,它可能是处理器Processor+接收器Sink组合到一个新的应用程序中:“新的Sink”。这种灵活性为流应用程序开发人员开辟了有趣的新方式。
让我们看看如何通过三个应用程序创建管道来执行简单转换,然后使用两个使用函数组合的应用程序来了解如何将其实现为管道。
欢迎大家加入粉丝群:963944895,群内免费分享Spring框架、Mybatis框架SpringBoot框架、SpringMVC框架、SpringCloud微服务、Dubbo框架、Redis缓存、RabbitMq消息、JVM调优、Tomcat容器、MySQL数据库教学视频及架构学习思维导图
Streaming Pipeline有三个应用程序
对于第一个流,我们将使用开箱即用的http-source,transform-processor和log-sink的三个应用程序。
首先,启动Spring Cloud Data Flow local服务器:
java -jar spring-cloud-dataflow-server-local-1.7.3.RELEASE.jar
然后,启动Spring Cloud数据流shell:
java -jar spring-cloud-dataflow-shell-1.7.3.RELEASE.jar
现在让我们使用RabbitMQ绑定器(或Kafka绑定器)分别注册HTTP源source,变换器处理器processor和日志接收器sink 作为应用程序:
dataflow:>app register --name http --type source --uri https://repo.spring.io/milestone/org/springframework/cloud/stream/app/http-source-rabbit/2.1.0.M2/http-source-rabbit-2.1.0.M2.jar
注册处理器:
dataflow:>app register --name transformer --type processor --uri https://rep