Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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