亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Spring Cloud Data Flow初體驗以Local模式運行

瀏覽:3日期:2023-08-23 15:36:29

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:聯合Source和Sink,它從某個目標消費消息,然后發送到另一個目標。

2.2 特性

Spring Cloud Data Flow有許多好的特性值得我們學去使用它:

基于云的架構,可部署在Cloud Foundry、Kubernetes或OpenShift等。 有許多可選擇的開箱即用的流處理和批處理應用組件。 可自定義應用組件,且是基于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;校驗和持久化Stream、Task和Batch的定義; 注冊應用如jar包應用和docker應用; 部署Batch到一個或多個平臺; 查詢Job和Batch的歷史執行記錄; 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包:

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.jarwget https://repo.spring.io/release/org/springframework/cloud/spring-cloud-dataflow-shell/2.5.3.RELEASE/spring-cloud-dataflow-shell-2.5.3.RELEASE.jarwget 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 啟動應用

# 啟動Skipper,默認端口為7577java -jar spring-cloud-skipper-server-2.4.3.RELEASE.jar# 啟動Data Flow Server,默認端口為9393java -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進行交互。

啟動應用:

$ java -jar spring-cloud-dataflow-shell-2.5.3.RELEASE.jar ____ ____ _ __ / ___| _ __ _ __(_)_ __ __ _ / ___| | ___ _ _ __| | ___ | ’_ | ’__| | ’_ / _` | | | | |/ _ | | | |/ _` | ___) | |_) | | | | | | | (_| | | |___| | (_) | |_| | (_| | |____/| .__/|_| |_|_| |_|__, | ____|_|___/ __,_|__,_| ____ |_| _ __|___/ __________ | _ __ _| |_ __ _ | ___| | _____ __ | | | |/ _` | __/ _` | | |_ | |/ _ / / / | |_| | (_| | || (_| | | _| | | (_) V V / / / / / / / |____/ __,_|____,_| |_| |_|___/ _/_/ /_/_/_/_/_/2.5.3.RELEASEWelcome 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初體驗內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 久久久这里有精品 | 美女污污视频在线观看 | 欧美卡1卡2卡三卡网站入口 | 999国产视频| 日本特黄网站 | 欧美艳星性videose精品 | 欧美日韩乱妇高清免费 | 国产精品国产三级国产普通话对白 | 成人在线免费小视频 | 精品久久九九 | 韩日精品视频 | 自拍欧美日韩 | 国产亚洲欧美日本一二三本道 | 日韩欧美亚洲国产一区二区三区 | 亚洲第一se情网站 | 成人欧美一区二区三区的电影 | 欧美高清在线不卡免费观看 | 国产一区二区三区欧美 | xxx日本免费| 国产欧美日韩在线观看一区二区三区 | 亚洲a级毛片| 97精品国产91久久久久久 | 亚洲国产精 | 日本一级片网站 | 欧美夜夜| 莫菁在线 | 奇米网狠狠 | 国产毛片一级aaaaa片 | 干妞网免费视频 | 欧美一级级a在线观看 | 国产经典自拍 | 手机国产精品一区二区 | 多女多p多杂交视频在线观看 | 亚洲欧美中文字幕专区 | 亚洲久草视频 | 国产精品成人影院 | 国产精品dvd | 黄色不卡视频 | 黄色一级在线 | 91av一区| 欧美亚洲国产成人高清在线 |