Talk delivered at Spring IO in Barcelona (May 20, 2016)
The talk introduces Spring Cloud Stream as a framework for developing event-driven microservices, as well as Spring Cloud Data Flow as an orchestration and deployment layer.
11. Consumer Groups
• Borrowed from Kafka, applied to all binders
• Groups of competing consumers within the pub-sub
destination
• Used for scaling and partitioning
Spring I/O
2016
12. Partitioning
• Required for stateful processing
• Outputs specify a partitioning strategy
• Inputs consuming from specific partition
Spring I/O
2016
15. Spring Cloud Data Flow
• Orchestration:
• DSL for Stream topologies
• REST API
• Shell
• UI
• Portable Deployment SPI
• OOTB apps for common integration use-
cases
Spring I/O
2016
16. Stream DSL: pipes and filters
Stream definition
Boot Apps build
on top of Spring
Ecosystem
httpfile = http | file
|
Spring I/O
2016
‘pipe’, or how to communicate
Rabbit, Kafka, Gemfire
17. Spring Cloud Deployer
• SPI for deploying applications to modern runtimes
• Local (for testing)
• Cloud Foundry
• YARN
• Kubernetes
• Mesos + Marathon
• Different resources supported
• Spring Boot Uberjars
• Docker Images
• Different locations
• File system, HDFS, HTTP, Maven, Docker Hub
Spring I/O
2016
20. Timeline
• Spring Cloud Stream
• 1.0.0.GA May 10, 2016
• 1.1.0.M1 July 2016
• 1.1.0.GA Q3 2016
• Spring Cloud Data Flow
• 1.0.0.M3 May 7, 2016
• 1.0.0.RC1 End of May, 2016
Spring I/O
2016
21. Spring Cloud Stream 1.1.0.M1
• Reactive APIs: Reactor, RxJava
• Kafka 0.9
• Schema evolution support