Building an Event Driven System with Spring Cloud Stream

Intermediate
15 Lessons
5h 7m

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.

Share:

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

Introduction

Introduction

Article
5m
Why Event Driven Systems?
Locked

Why Event Driven Systems?

Discover the importance and advantages of event-driven architecture in modern software development.

Article
15m
A Bit of Architecture
Locked

A Bit of Architecture

Gain an understanding of the architectural principles behind event-driven systems and their practical applications.

Article
15m
Overview: Spring Cloud Stream
Locked

Overview: Spring Cloud Stream

Get introduced to the core features and capabilities of Spring Cloud Stream for building message-driven microservices.

Article
15m
Lab: Bootstrap the Project
Locked

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.

Lab
10m
The Programming Model
Locked

The Programming Model

Learn about the programming model used in Spring Cloud Stream and how it simplifies the development of event-driven applications.

Article
20m
Binder Service Provided Interface (SPI)
Locked

Binder Service Provided Interface (SPI)

Understand the Binder SPI and its role in abstracting the messaging middleware in Spring Cloud Stream.

Article
20m
Binding API
Locked

Binding API

Explore the Binding API and how it facilitates the connection between application components and messaging systems.

Article
20m
The Pub/Sub Model
Locked

The Pub/Sub Model

Learn about the publish/subscribe interaction model and its implementation in Spring Cloud Stream.

Article
20m
Lab: Create the Source Application
Locked

Lab: Create the Source Application

Build the Source application that generates data and events for your event-driven system.

Lab
30m
Lab: Swap the Middleware
Locked

Lab: Swap the Middleware

Learn how to switch between different messaging middlewares in your Spring Cloud Stream application.

Lab
15m
Lab: On Demand processing with StreamBridge
Locked

Lab: On Demand processing with StreamBridge

Implement on-demand event processing using the StreamBridge feature in Spring Cloud Stream.

Lab
30m
Lab: Enriching Data with a Processor
Locked

Lab: Enriching Data with a Processor

Create a Processor application to enrich event data in your Spring Cloud Stream system.

Lab
30m
Lab: Saving Data with a Sink
Locked

Lab: Saving Data with a Sink

Create a Sink application to persist event data in your Spring Cloud Stream system.

Lab
30m
Lab: End-to-End Integration Testing
Locked

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.

Lab
30m