~/talk

Building resilient scheduling in distributed systems with Spring

Talkat Spring I/O 2019 · 2019-05-16..05-17· [distributed-systems]
links:none on file
slides:none on file

Shows a concrete solution for running one scheduled job across scaled Spring instances: first uses an AOP run-if-leader annotation that queries an external orchestrator, then replaces it with a programmatic SchedulingConfigurer that registers Runnable tasks, a custom scheduled thread pool (tested at pool size 4), and a leader-aware decorator. Adds idempotency IDs to avoid split‑brain duplicates, evaluates Postgres row locking and SQS (14‑day visibility limit), and reports that the programmatic approach improves testability, observability and resilience.

AI-written summary · about

  1. 0:00Introduction
  2. 0:50Agenda
  3. 1:34How our systems are developed
  4. 3:53Simplified view of the problem
  5. 6:11Spring application example
  6. 7:32Vertical vs horizontal scaling
  7. 9:15Running scheduling on a single note
  8. 11:17Introducing another component
  9. 12:23Adding a leader
  10. 14:48AspectOriented Programming
  11. 16:38Advices
  12. 17:48Annotation
  13. 20:13Disadvantages
  14. 23:46programmatic approach
  15. 24:05interface
  16. 24:46code
  17. 26:14improvements
  18. 27:47benefits
  19. 30:49convenience of testing
  20. 31:10scheduling config test
  21. 34:49original problem
  22. 35:38other classes
  23. 36:36delegate
  24. 37:23split brain
  25. 40:05improve resiliency
  26. 44:26SQS queue
  27. 45:29Lessons learned
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.