Building an Event Driven System with Spring Cloud Stream
Learn to create event-driven applications that handle real-time data efficiently using Spring Cloud Stream. You'll learn about the overarching concepts at the foundation of all event-driven systems, and how Spring Cloud Stream implements these concepts. Along the way, you'll build a fully functional event-driven system with Spring and Spring Cloud Stream.
Dive into the dynamic world of event-driven architecture with our Building an Event Driven System with Spring Cloud Stream course!
This course is crafted to energize your development journey, guiding you through the creation of event-driven applications that handle real-time data effortlessly.
You'll harness the power of Spring Cloud Stream to build scalable and resilient systems, essential for today's data-driven demands. With our interactive, cloud-based lab environment, you'll get hands-on experience by constructing a real-world event-driven system.
Join us and elevate your skills, becoming a key player in the exciting realm of modern software engineering!
In This Course
In this course, you'll learn the fundamental concepts that govern event-driven systems. Then, you'll reinforce your learning by building an a real-world inspired event-driven system: a system that processes financial transactions from a "Family Cash Card" business - a service for families to manage spending in the form of digital debit cards.
By building a system that analyzes and "enriches" this financial data, you'll learn how to implement event-driven concepts using Spring Cloud Stream.
Course Outcomes
- Learn the overarching concepts at the foundation of all event-driven systems.
- Learn how Spring Cloud Stream implements these concepts, and how can use these implementations to build your own systems.
- Build a fully functional event-driven system with Spring and Spring Cloud Stream.
Prerequisites
- A working knowledge of the Java language and Java ecosystem
- A working knowledge of Spring Boot
- Bonus: a working knowledge of messaging middlewares and REST APIs
Course Outline
Why Event Driven Systems?
Discover the importance and advantages of event-driven architecture in modern software development.
A Bit of Architecture
Gain an understanding of the architectural principles behind event-driven systems and their practical applications.
Overview: Spring Cloud Stream
Get introduced to the core features and capabilities of Spring Cloud Stream for building message-driven microservices.
Lab: Bootstrap the Project
Set up our hands-on development environment and give our event-driven Family Cash Card project the perfect start with a solid foundation.
The Programming Model
Learn about the programming model used in Spring Cloud Stream and how it simplifies the development of event-driven applications.
Binder Service Provided Interface (SPI)
Understand the Binder SPI and its role in abstracting the messaging middleware in Spring Cloud Stream.
Binding API
Explore the Binding API and how it facilitates the connection between application components and messaging systems.
The Pub/Sub Model
Learn about the publish/subscribe interaction model and its implementation in Spring Cloud Stream.
Lab: Create the Source Application
Build the Source application that generates data and events for your event-driven system.
Lab: Swap the Middleware
Learn how to switch between different messaging middlewares in your Spring Cloud Stream application.
Lab: On Demand processing with StreamBridge
Implement on-demand event processing using the StreamBridge feature in Spring Cloud Stream.
Lab: Enriching Data with a Processor
Create a Processor application to enrich event data in your Spring Cloud Stream system.
Lab: Saving Data with a Sink
Create a Sink application to persist event data in your Spring Cloud Stream system.
Lab: End-to-End Integration Testing
Learn the importance of end-to-end testing and implement E2E tests using both embedded and real Kafka middleware.