~/talk

Immutable data stores and CORS for safety, flexibility and profit

Talkat Scala Days Berlin 2016 · 2016-06-15..06-17· [microservices, databases]
links:none on file
slides:none on file

Atlassian is rewriting its identity platform using event sourcing plus CQRS, capturing immutable JSON events in DynamoDB and replaying them into targeted stores; production dogfooding shows parts running ~18 months and gives audit trails for free and safer zero‑downtime schema changes. Implementation uses scalaz‑streams/FS2, DynamoDB streams to Kinesis and AWS Lambdas, plus a query synchronizer that writes to Postgres and can batch or force reads using opaque sequence tokens for consistency. Design choices: tiny set‑payload events, per-user event streams for parallelism, check‑and‑set or CRDT resolution to balance consistency and latency.

AI-written summary · about

  1. 0:00Start
  2. 4:27Our Identity System requirements
  3. 11:49Modeling Events
  4. 12:40Event storage API
  5. 13:55Saving events
  6. 14:47Operation: Constraint as a type
  7. 16:03Querying event streams
  8. 17:55Query synchroniser is a scalaz-stream Channel...
  9. 20:41Insert / Update Delta
  10. 24:01Single stream
  11. 24:56Rules for splitting streams
  12. 27:15Query views get populated eventually
  13. 28:53Why do we need transactions?
  14. 29:47CAP or PACELC?
  15. 30:50Check-and-Set writes
  16. 32:51Tokens to emulate transactions and consistency
  17. 33:51Using tokens to enforce state
  18. 35:06Resolve conflicts on query
  19. 36:38Key takeaways
~/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.