Spring Cloud Data Flow

Spring Cloud Data Flow helps in establishing message flows between different kinds of microservices created using Spring Cloud Stream. All the microservices that are deployed through the Spring Cloud Data Flow server should be Spring Boot microservices that define appropriate channels.

Spring Cloud Data Flow provides interfaces to define applications and define flows between them using Spring DSL. Spring Data Flow Server understands the DSL and establishes the flow between applications.

Typically, this involves multiple steps:

  • Using a mapping between the application name and the deployable unit of the application to download the application artifacts from repositories. Spring Data Flow Server supports Maven and Docker repositories.
  • Deploying the applications to the target runtime.
  • Creating channels on the message broker.
  • Establishing connections between the applications and the message broker channels.

Spring Cloud Data Flow also provides options for the scaling of the applications involved when needed. A deployment manifest maps applications to target runtime. A couple of questions that a deployment manifest answers are as follows:

  • How many instances of an application need to be created?
  • How much memory is needed by each instance of an application?

Data Flow Server understands the deployment manifests and creates the target runtime as specified. Spring Cloud Data Flow supports a variety of runtimes:

  • Cloud Foundry
  • Apache YARN
  • Kubernetes
  • Apache Mesos
  • Local server for development

We will use the local server in our examples in this chapter.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset