4. Spring XD Limitations
• How to scale up/down instances at runtime?
• How to upgrade/downgrade module instances at runtime?
• How to specify resources unique to each module, e.g. memory?
• Container architecture lead to parent/child class loader issues
• Too many libraries in root classpath
5. Stream and Batch Processing in the
Cloud with Spring Cloud Data Flow
Spring Cloud Data Flow is a unified, distributed, and
extensible system for data ingestion, real time analytics, batch
processing, and data export. The project's goal is to simplify
the development of big data applications.
6. Stream and Batch Processing in the Cloud
with Spring Cloud Data Flow
• Microservice pattern applied to data processing
• Typical benefits:
• scalability, isolation, agility, continuous deployment,
operational control
• Tuning process specific resources
• Instance Count
• Memory
• CPU
• Event Driven
• Short Lived processes
14. Spring Cloud Task
• Spring Boot based framework for short lived processes
• Auto-configuration provides a task repository and pluggable data
source
• Result of each process persists beyond the life of the task for future
reporting
• Tasks can deployed executed and removed on demand
• Well integrated with Spring Batch
15. Spring Cloud Task
• Spring Boot based framework for short lived processes
• Auto-configuration provides a task repository and pluggable data source
• Result of each process persists beyond the life of the task for future
reporting
• Well integrated with Spring Batch
16. REST API for SCDF
Data Flow Template
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dataflow-rest-client</artifactId>
<version>1.2.0.BUILD-SNAPSHOT</version>
</dependency>
DataFlowTemplate dataFlowTemplate = new DataFlowTemplate(
new URI("http://localhost:9393/"), restTemplate);