日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Cloud Data Flow简介

發(fā)布時間:2024/8/1 javascript 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Cloud Data Flow简介 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • Spring Cloud Data Flow簡介
    • Spring Cloud Data Flow介紹
    • Server Components
      • Application Types
        • Long-lived Applications
          • Streams with Sources, Processors and Sinks
        • Short-lived Applications
    • 參考

Spring Cloud Data Flow簡介

Spring Cloud Data Flow介紹

  • Spring Cloud Data Flow是用于構(gòu)建數(shù)據(jù)集成和實(shí)時數(shù)據(jù)處理管道的工具包
  • Data flow 是一個用于開發(fā)和執(zhí)行大數(shù)據(jù)處理,其模式包括ETL(Extract-Transform-Load),批量運(yùn)算和持續(xù)運(yùn)算的統(tǒng)一編程模型托管服務(wù)
  • 對于在現(xiàn)代運(yùn)行環(huán)境中可組合的微服務(wù)程序來說,spring cloud data flow是一個原生云可編配的服務(wù)
  • 使用spring cloud data flow,開發(fā)者可以為像數(shù)據(jù)抽取,實(shí)時分析,和數(shù)據(jù)導(dǎo)入/導(dǎo)出這種常見用例創(chuàng)建和編配數(shù)據(jù)通道 (data pipelines)。
  • Spring cloud data flow 是基于原生云對 spring XD的重新設(shè)計(jì),該項(xiàng)目目標(biāo)是簡化大數(shù)據(jù)應(yīng)用的開發(fā)
  • Spring cloud data flow 為基于微服務(wù)的分布式流處理和批處理數(shù)據(jù)通道提供了一系列模型和最佳實(shí)踐。
  • Spring cloud data flow 簡化了應(yīng)用程序的開發(fā)和部署, 將精力集中到數(shù)據(jù)處理的用例上

Server Components

Data Flow 包含了兩個主要的components:

  • Data Flow Server
  • Skipper Server

Data Flow Server使用一個嵌入式的servlet容器并且暴露REST端去創(chuàng)建,部署,卸載,銷毀Streams和Tasks,查詢運(yùn)行狀態(tài),數(shù)據(jù)分析等等。

Skipper Server是可以將Stream部署到一個或多個平臺,提供了版本升級/回退的方法,Data Flow Server會將Stream的部署委托給skipper。

這些服務(wù)器可以運(yùn)行在幾個平臺上:Cloud Foundry、Kubernetes或您的本地機(jī)器上。每個服務(wù)器將其狀態(tài)存儲在關(guān)系數(shù)據(jù)庫中。

參考:https://dataflow.spring.io/docs/concepts/architecture/#server-components

Application Types

應(yīng)用程序以兩種類型出現(xiàn):

  • Long-lived applications(Message-driven applications/Spring Cloud Stream):周期長的流處理,程序通過消息中間件消費(fèi)和產(chǎn)生連續(xù)不斷的數(shù)據(jù)
  • Short-lived applications(Spring Cloud Task/Spring Batch):短周期的任務(wù)處理,程序處理有限的數(shù)據(jù)集合然后中斷

參考:https://dataflow.spring.io/docs/concepts/architecture/#application-types

Long-lived Applications

Long-lived applications應(yīng)該持續(xù)運(yùn)行,Data Flow平臺會對applications并進(jìn)行健康檢查確保長周期運(yùn)行,并在運(yùn)行失敗的時候可以重新啟動。

Spring Cloud Stream框架可以幫助我們更加容易得創(chuàng)建基于微服務(wù)的流處理程序。我們只需要編寫我們自己的核心業(yè)務(wù)邏輯而無須理會特定的中間件。
如果要使用特定的中間件,只需要通過添加一個Spring Cloud Stream Binder library作為applications的依賴項(xiàng)。下面是已有的中間件binding libraries:

  • RabbitMQ
  • Kafka
  • Kafka Streams
  • Amazon Kinesis
  • Google Pub/Sub
  • Solace PubSub+
  • Azure Event Hubs

參考:https://dataflow.spring.io/docs/concepts/architecture/#long-lived-applications

Streams with Sources, Processors and Sinks
  • Source: 將Message發(fā)送到目的地的producer.(生成數(shù)據(jù))
  • Sink: 從目標(biāo)讀取Message的consumer.(消費(fèi)數(shù)據(jù))
  • Processor: Processor使用來自目的地的消息并生成要發(fā)送到另一個目的地的消息.(消費(fèi)和生產(chǎn)數(shù)據(jù))

通過使用Source、Processor和Sink來描述被注冊的application的類型,這三種類型的application被注冊到Data Flow中。我們可以通過--type來指定這三種類型,如下:

dataflow:>app register --name http --type source --uri maven://org.springframework.cloud.stream.app:http-source-rabbit:1.2.0.RELEASE Successfully registered application 'source:http'dataflow:>app register --name log --type sink --uri maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.1.0.RELEASE Successfully registered application 'sink:log'

上面的命令的意思如下:

  • 第一條命令:注冊name為http的application,并指定type為source到data flow中,并指定了獲取application的uri
  • 第二條命令:注冊name為log的application,并指定type為sink到data flow中,并指定了獲取application的uri

通過在Data Flow中注冊http和log,可以使用Stream Pipeline DSL創(chuàng)建一個stream, Stream DSL 描述了系統(tǒng)中數(shù)據(jù)流轉(zhuǎn)送的線性序列, 如下面的示例所示:

dataflow:>stream create --name httpStream --definition "http | log"

參考:https://dataflow.spring.io/docs/concepts/architecture/#streams-with-sources-processors-and-sinks

Short-lived Applications

Short-lived Applications一般是運(yùn)行一段時間(通常是幾分鐘到幾小時),然后終止。比如每天需要在一段時間內(nèi)把FTP服務(wù)器的壓縮包文件下載下來->然后解壓縮->讀取里面的數(shù)據(jù)->進(jìn)行持久化存儲。這樣一個流程每天可能只需要進(jìn)行一次,但是我們不希望有一個application長期的運(yùn)行只為了可能每天幾分鐘到幾小時的處理或者計(jì)算的時間。所以短生命周期的微服務(wù)可以幫我們做到這一點(diǎn)。

Spring Cloud Task允許我們開發(fā)短生命周期的微服務(wù),它記錄短生命周期應(yīng)用程序的生命周期事件(如開始時間、結(jié)束時間和退出代碼)。結(jié)合Spring Batch能提供更多豐富的功能。

可以通過--type task來指定application是一個短期運(yùn)行的task

dataflow:> app register --name timestamp --type task --uri maven://org.springframework.cloud.task.app:timestamp-task:2.1.0.RELEASE

通過上面的命令我們可以把我們的application 注冊到DataFlow中

然后我們用下面的命令來創(chuàng)建一個task

dataflow:> task create tsTask --definition "timestamp"

參考:https://dataflow.spring.io/docs/concepts/architecture/#short-lived-applications

參考

Spring Cloud Data Flow 介紹

Spring Cloud Data Flow Architecture

ETL with Spring Cloud Data Flow

Spring 數(shù)據(jù)處理框架的演變

Spring系列學(xué)習(xí)之Spring Cloud Data Flow 微服務(wù)數(shù)據(jù)流

Spring Cloud Data Flow初探

使用Spring Cloud Data Flow實(shí)現(xiàn)批量數(shù)據(jù)處理ETL

Introduction to Spring cloud data flow in 15 minutes

Spring Cloud Data Flow | Microservice Stream Processing |JavaTechie

Spring Tips: Spring Cloud Data Flow

Orchestrating Data Microservices with Spring Cloud Data Flow - Mark Pollack

Spring Cloud Data Flow Reference Guide(current-SNAPSHOT)

Spring Cloud Data Flow Reference Guide

Java-Techie-jt/spring-cloud-data-flow-example

mminella/spring-cloud-task-webinar

spring-cloud/spring-cloud-dataflow-samples

用Spring Cloud和異步微服務(wù)進(jìn)行無服務(wù)器計(jì)算

總結(jié)

以上是生活随笔為你收集整理的Spring Cloud Data Flow简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。