~/talk

Refactor to Reactive with Spring 5 and Project Reactor

Talkat JavaDay Ukraine 2017 · 2017-11-04..11-05· [reactive-programming, java]
slides:none on file

Refactors a GitHub‑chat service to nonblocking I/O using Spring 5 and Project Reactor, replacing blocking REST templates and blocking Mongo with a reactive Mongo driver, switching controllers to return Flux and Mono, using WebClient, Netty and WebSocket for push, and applying retry, caching and overflow strategies so the app continues to respond when external sources or the DB drop. Demonstrates running system, shows statistics reappear after DB restart, then splits into microservices with Spring Cloud Stream and a message broker to achieve horizontal scaling.

AI-written summary · about

  1. 0:00Introduction
  2. 1:51Talk goals and structure
  3. 3:16Chat app description
  4. 5:35Current app architecture
  5. 7:26Current system problems
  6. 10:05Solution: reactivity
  7. 12:17New system architecture
  8. 12:59Project Reactor and Spring 5
  9. 15:09Design summary
  10. 16:03Dependency updates
  11. 17:31Contract changes
  12. 20:44Reactive repositories
  13. 21:29Service refactoring
  14. 23:17External communications
  15. 26:54Chat service refactor
  16. 27:59Mass service refactor
  17. 29:29Stats refactor
  18. 33:52Controller refactor
  19. 36:21Testing new system
  20. 37:31App launch
  21. 38:41System resilience
  22. 41:14Comparison with manifesto
  23. 42:19Cloud scaling
  24. 43:48Microservice split
  25. 48:42System scaling
  26. 49:04Final recommendations
  27. 50:08Reactivity pros and cons
  28. 51:34Learning resources
~/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.