Spring Cloud Data Flow Server for Cloud Foundry


Sabby Anandan, Eric Bottard, Mark Fisher, Ilayaperumal Gopinathan, Gunnar Hillert, Mark Pollack, Thomas Risberg, Marius Bogoevici, Josh Long


Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically.

Table of Contents

I. Spring Cloud Data Flow for Cloud Foundry
1. Spring Cloud Data Flow
2. Spring Cloud Stream
II. Architecture
3. Introduction
4. Microservice Architectural Style
4.1. Comparison to other Platform architectures
5. Streaming Applications
5.1. Imperative Programming Model
5.2. Functional Programming Model
6. Streams
6.1. Topologies
6.2. Concurrency
6.3. Partitioning
6.4. Message Delivery Guarantees
7. Analytics
8. Data Flow Server
8.1. Endpoints
8.2. Customization
8.3. Security
9. Runtime
9.1. Fault Tolerance
9.2. Resource Management
9.3. Scaling at runtime
9.4. Application Versioning
III. Getting started
10. Deploying on Cloud Foundry
10.1. Provision a Redis service instance on Cloud Foundry.
10.2. Provision a Rabbit service instance on Cloud Foundry.
10.3. Download the Spring Cloud Data Flow Server and Shell apps:
10.4. Deploying the Server app on Cloud Foundry
10.5. Running the Server app locally
10.6. Running Spring Cloud Data Flow Shell locally
11. Security
12. Security
13. Application Names and Prefixes
14. Authentication and Cloud Foundry
15. Configuration Reference
IV. Streams
16. Introduction
17. Stream DSL
18. Register a Stream App
18.1. Whitelisting application properties
19. Creating a Stream
19.1. Application properties
19.1.1. Passing application properties when creating a stream
19.1.2. Passing application properties when deploying a stream
19.1.3. Passing stream partition properties during stream deployment
19.1.4. Overriding application properties during stream deployment
19.2. Deployment properties
19.2.1. Passing instance count as deployment property
19.2.2. Inline vs file reference properties
20. Destroying a Stream
21. Deploying and Undeploying Streams
22. Other Source and Sink Application Types
23. Simple Stream Processing
24. Stateful Stream Processing
25. Tap a Stream
26. Using Labels in a Stream
27. Explicit Broker Destinations in a Stream
28. Directed Graphs in a Stream
28.1. Common application properties
V. Dashboard
29. Introduction
30. Apps
31. Runtime
32. Streams
33. Create Stream
34. Analytics
VI. ‘How-to’ guides
35. Configure Maven Properties
VII. Appendices
A. Migrating from Spring XD to Spring Cloud Data Flow
A.1. Terminology Changes
A.2. Modules to Applications
A.2.1. Custom Applications
A.2.2. Application Registration
A.2.3. Application Properties
A.3. Message Bus to Binders
A.3.1. Message Bus
A.3.2. Binders
A.3.3. Named Channels
A.3.4. Directed Graphs
A.4. Batch to Tasks
A.5. Shell/DSL Commands
A.7. UI / Flo
A.8. Architecture Components
A.8.1. ZooKeeper
A.8.2. RDBMS
A.8.3. Redis
A.8.4. Cluster Topology
A.9. Central Configuration
A.10. Distribution
A.11. Hadoop Distribution Compatibility
A.12. YARN Deployment
A.13. Use Case Comparison
A.13.1. Use Case #1
A.13.2. Use Case #2
A.13.3. Use Case #3
B. Building
B.1. Basic Compile and Test
B.2. Documentation
B.3. Working with the code
B.3.1. Importing into eclipse with m2eclipse
B.3.2. Importing into eclipse without m2eclipse