Building Resilient Scheduling in Distributed Systems with Spring
Offered By: Spring I/O via YouTube
Course Description
Overview
Explore building resilient scheduling in distributed systems using Spring in this conference talk from Spring I/O 2019. Learn how to implement custom scheduling logic for horizontally scaled services, ensuring tasks run on a single node. Discover techniques for distributed locking, leader selection, and persistence. Examine the challenges of traditional declarative scheduling approaches and the benefits of switching to a more flexible programmatic method. Gain insights into mitigating split-brain scenarios, improving resilience with SQS queues, and implementing aspect-oriented programming for scheduling. Compare vertical and horizontal scaling strategies, and understand the convenience of testing scheduling configurations. Walk through practical code examples and learn valuable lessons for developing robust, distributed scheduling systems with Spring.
Syllabus
Introduction
Agenda
How our systems are developed
Simplified view of the problem
Spring application example
Vertical vs horizontal scaling
Running scheduling on a single note
Introducing another component
Adding a leader
AspectOriented Programming
Advices
Annotation
Disadvantages
programmatic approach
interface
code
improvements
benefits
convenience of testing
scheduling config test
original problem
other classes
delegate
split brain
improve resiliency
SQS queue
Lessons learned
Taught by
Spring I/O
Related Courses
Vector Similarity Search in Spring with Redis StackSpring I/O via YouTube Why Spring Belongs in Your Data Stream - From Edge to Multi Cloud
Spring I/O via YouTube Let's Spring Forth and Stream with Apache Pulsar
Spring I/O via YouTube Architecturally Evident Spring Applications with JMolecules
Spring I/O via YouTube Testing with Spring, AOT, GraalVM, and JUnit 5
Spring I/O via YouTube