~/talk

Re-programming the programmer, from Actors to FP

Talkat Scale By The Bay 2019 · 2019-11-13..11-15· [functional-programming]
links:none on file
slides:none on file

A DNS management service evolves through three rewrites from event sourcing with Akka to an actor-based CQRS on DynamoDB to a functional design using FS2 + SQS. Problems that force changes are replay times for zones with millions of DNS records, Akka split‑brain and nondeterministic actors, and an unwieldy DynamoDB persistence. The final system replaces actors with pure functions, drops thousands of lines of code, reintroduces determinism, supports rate‑limiting via SQS, and achieves active‑active high availability.

AI-written summary · about

  1. 0:00Intro
  2. 1:17MALIGNED OBJECT ORIENTED PROGRAMMING - MOOP
  3. 1:36INJECTS DEPENDENCIES
  4. 2:12MOOP - LIKE TO THINK WE HAVE GOOD STRUCTURE
  5. 3:24MOOP - ALL THEM DEPENDENCIES NEED MOCKING...
  6. 4:57WHAT IS DNS?
  7. 6:22APPROACH - SCALA +AKKA
  8. 6:41DESIGN - EVENT SOURCING
  9. 7:30EVENT SOURCING - COLD LOAD ENTITY
  10. 8:02EVENT SOURCING - IN MEMORY STATE
  11. 8:22EVENT SOURCING - AKKA PERSISTENCE
  12. 8:38EVENT SOURCING - LOAD DNS ZONE
  13. 8:53AKKA CLUSTER FOR HA USING GOSSIP
  14. 9:49HIGH AVAILABILITY
  15. 11:09NEW REQUIREMENTS
  16. 11:26EVENT SOURCING CHALLENGES
  17. 12:14NEW DESIGN - AKKA + CORS
  18. 12:47THROTTLING
  19. 13:11ACTOR EVERYTHING
  20. 14:18NETWORKING ISSUES
  21. 14:41OUR CLUSTER..
  22. 14:59SPLIT BRAIN
  23. 16:06VERSION 2 - ACTORS
  24. 18:02VERSION 2 - ACTOR ISSUES
  25. 18:48STATE OF AFFAIRS
  26. 19:28REBUILD AGAIN
  27. 19:53USE A MESSAGE QUEUE
  28. 20:16USE FS2 FOR COMMAND PROCESSING
  29. 20:36FS2 DECLARATIVE SYNTAX
  30. 20:51REPLACE ACTORS WITH FUNCTIONS
  31. 21:56QUERYING IN DYNAMODB
  32. 23:11LESSONS LEARNED
  33. 24:34THE LAST SLIDE
  34. 27:24VERSION 3 - CHANGE DATABASE TO MYSQL
  35. 30:17Sponsored by
~/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.