gpt4 book ai didi

Spring Cloud Data Flow初体验以Local模式运行

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Spring Cloud Data Flow初体验以Local模式运行由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

1 前言 。

Spring Cloud Data Flow是什么,虽然已经出现一段时间了,但想必很多人不知道,因为在项目中很少有人用。不仅找不到很多中文资料,英文资料也一样少的可怜。这让探索的路更加艰辛,也更加有趣吧.

Spring Cloud Data Flow是基于微服务的,专门用于流式和批式数据处理的框架.

2 基本概念 。

2.1 数据处理模式 。

数据处理有两种模式,分别是Streaming流式处理和Batch批次处理。Streaming是长时间一直存在的,你数据来了我就处理,没来我就等着,基于消息驱动。Batch是处理时间较短的,启动一次处理一次,处理完就退出任务,需要去触发任务.

一般地,我们会基于Spring Cloud Stream框架来开发Streaming应用,而基于Spring Cloud Task或Spring Batch框架来开发Batch应用。完成开发后,可以打包成两种形式:

  • (1)Springboot式的jar包,可以放在maven仓库、文件目录或HTTP服务上;
  • (2)Docker镜像。

对于Stream,有三个概念是需要理解的:

  • (1)Source:消息生产者,负责把消息发送到某个目标;
  • (2)Sink:消息消费者,负责从某个目标读取消息;
  • (3)Processor:联合SourceSink,它从某个目标消费消息,然后发送到另一个目标。

2.2 特性 。

Spring Cloud Data Flow有许多好的特性值得我们学去使用它:

  • 基于云的架构,可部署在Cloud FoundryKubernetesOpenShift等。
  • 有许多可选择的开箱即用的流处理和批处理应用组件。
  • 可自定义应用组件,且是基于Springboot风格的编程模型。
  • 有简单灵活的DSL(Domain Specific Language)去定义任务处理逻辑。
  • 有美观的Dashboard能可视化地定义处理逻辑、管理应用、管理任务等。
  • 提供了REST API,可以在shell命令行模式下进行交互。

2.3 服务端组件 。

服务端有两个重要的组件:Data Flow Server和Skipper Server。两者作用不同,互相协作.

Spring Cloud Data Flow初体验以Local模式运行

Data Flow Server的主要作用有:

  • 解析DSL;校验和持久化StreamTaskBatch的定义;
  • 注册应用如jar包应用和docker应用;
  • 部署Batch到一个或多个平台;
  • 查询JobBatch的历史执行记录;
  • Stream的配置管理;
  • 分发Stream部署到Skipper
  • Skipper Server主要作用有:
  • 部署Stream到一个或多个平台;
  • 基于有灰度/绿色更新策略地更新或回滚Stream
  • 保存每一个Stream的描述信息。

可以看出,如果不需要使用Stream,可以不用部署Skipper。两者都需要依赖关系型数据库(RDBMS),默认会使用内置的H2,支持的数据库有H2、HSQLDB、MYSQL、Oracle、PostgreSql、DB2和SqlServer.

2.4 运行环境 。

优秀的Spring的解耦能力总是特别强,Server和应用可以运行在不同的平台。我们可以把Data Flow Server和Skipper Server部署在Local、Cloud Foundry和Kuernetes,而Server又可以把应用部署在不同的平台.

  • 服务端Local:应用Local/Cloud Foundry/Kuernetes;
  • 服务端Cloud Foundry:应用Cloud Foundry/Kuernetes;
  • 服务端Kuernetes:应用Cloud Foundry/Kuernetes。

一般情况下,我们会把Server和应用部署在同一平台上。对于生产环境,建议还是在Kuernetes上比较合适.

3 本地模式安装使用 。

为了快速体验,我们使用最简单的本地运行环境.

3.1 下载Jar包 。

下载以下三个jar包:

?
1
2
3
wget https: //repo.spring.io/release/org/springframework/cloud/spring-cloud-dataflow-server/2.5.3.RELEASE/spring-cloud-dataflow-server-2.5.3.RELEASE.jar
wget https: //repo.spring.io/release/org/springframework/cloud/spring-cloud-dataflow-shell/2.5.3.RELEASE/spring-cloud-dataflow-shell-2.5.3.RELEASE.jar
wget https: //repo.spring.io/release/org/springframework/cloud/spring-cloud-skipper-server/2.4.3.RELEASE/spring-cloud-skipper-server-2.4.3.RELEASE.jar

如果是简单的Batch应用,可以只下载spring-cloud-dataflow-server-2.5.3.RELEASE.jar.

3.2 启动应用 。

?
1
2
3
4
# 启动Skipper,默认端口为 7577
java -jar spring-cloud-skipper-server- 2.4 . 3 .RELEASE.jar
# 启动Data Flow Server,默认端口为 9393
java -jar spring-cloud-dataflow-server- 2.5 . 3 .RELEASE.jar

启动完成后,访问UI:http://localhost:9393/dashboard 。

Spring Cloud Data Flow初体验以Local模式运行

3.3 部署应用 。

3.3.1 添加应用Applications 。

只有添加了应用,才能部署Batch和Stream。官方提供了示例Applications,我们直接使用就可以了:

Spring Cloud Data Flow初体验以Local模式运行

添加成功后,在应用列表可以查看:

Spring Cloud Data Flow初体验以Local模式运行

3.3.2 创建Task 。

创建Task可以图形化创建,也可以通过DSL来创建,非常方便:

Spring Cloud Data Flow初体验以Local模式运行

定义好Task后,输入名字创建:

Spring Cloud Data Flow初体验以Local模式运行

3.3.3 运行Task 。

直接点击运行:

Spring Cloud Data Flow初体验以Local模式运行

可以传入参数:

Spring Cloud Data Flow初体验以Local模式运行

3.3.4 查看Task运行情况 。

Spring Cloud Data Flow初体验以Local模式运行

Spring Cloud Data Flow初体验以Local模式运行

可以查看运行日志:

Spring Cloud Data Flow初体验以Local模式运行

3.4 Data Flow Shell命令行 。

除了在网页上,还可以通过命令行模式来与Server进行交互.

启动应用:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$ java -jar spring-cloud-dataflow-shell- 2.5 . 3 .RELEASE.jar
  ____    ____ _  __
  / ___| _ __ _ __(_)_ __ __ _ / ___| | ___ _ _ __| |
  \___ \| '_ \| ' __| | '_ \ / _` | | | | |/ _ \| | | |/ _` |
  ___) | |_) | | | | | | | (_| | | |___| | (_) | |_| | (_| |
  |____/| .__/|_| |_|_| |_|\__, | \____|_|\___/ \__,_|\__,_|
  ____ |_| _  __|___/   __________
  | _ \ __ _| |_ __ _ | ___| | _____ __ \ \ \ \ \ \
  | | | |/ _` | __/ _` | | |_ | |/ _ \ \ /\ / / \ \ \ \ \ \
  | |_| | (_| | || (_| | | _| | | (_) \ V V / / / / / / /
  |____/ \__,_|\__\__,_| |_| |_|\___/ \_/\_/ /_/_/_/_/_/
 
2.5 . 3 .RELEASE
 
Welcome to the Spring Cloud Data Flow shell. For assistance hit TAB or type "help" .
Successfully targeted http: //localhost:9393/
 
dataflow:>app list
╔═══╤══════╤═════════╤════╤════════════════════╗
║app│source│processor│sink│ task ║
╠═══╪══════╪═════════╪════╪════════════════════╣
║ │ │  │ │composed-task-runner║
║ │ │  │ │timestamp-batch ║
║ │ │  │ │timestamp  ║
╚═══╧══════╧═════════╧════╧════════════════════╝
 
dataflow:>

4 总结 。

本文使用的是官方提供的应用,我们可以自己开发应用并注册到Server上。Local模式适合开发环境适合,生产环境还是部署在Kubernetes比较靠谱。后面我们再来探索吧.

到此这篇关于Spring Cloud Data Flow初体验以Local模式运行的文章就介绍到这了,更多相关Spring Cloud Data Flow初体验内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://www.cnblogs.com/larrydpk/p/13417670.html 。

最后此篇关于Spring Cloud Data Flow初体验以Local模式运行的文章就讲到这里了,如果你想了解更多关于Spring Cloud Data Flow初体验以Local模式运行的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com