~/talk

Dr Jekyll and Mr Hyde, Embracing the Dual Nature of State

Talkat GopherCon UK 2019 · 2019-08-21..08-23· [microservices, software-architecture]
links:none on file
slides:none on file

Luno pairs mutable SQL rows with an immutable event table and enforces lifecycle transitions with a state‑machine layer so every update writes exactly one event inside a DB transaction. Engineers ship a small Go stack: shift + generator for SQL boilerplate, reflux to expose event tables as gRPC peer‑to‑peer streams, and fate to inject probabilistic failures in staging. Consumers are written idempotently; at least‑once delivery is accepted and duplicates are harmless. This setup scales across millions of customers and hundreds of services and surfaces bugs in staging so production stays reliable.

AI-written summary · about

  1. 0:00Introduction
  2. 1:40One size doesnt fit all
  3. 3:12The sender service
  4. 4:57Recovery
  5. 5:32Dual Nature of State
  6. 6:12Outline
  7. 7:23Mutable State
  8. 8:23Sending State
  9. 9:35State Machines
  10. 10:36Resetting State
  11. 12:02Shift
  12. 14:14Events
  13. 18:23Streams
  14. 21:20reflux
  15. 28:24fate
  16. 30:43recap
~/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.