~/talk

Events... And what next?

Talkat GrillRB 2019 · 2019-08-31..09-01· [ruby-on-rails, software-architecture]
links:none on file
slides:none on file

Event sourcing is implemented end-to-end: an HTTP Grape + Sidekiq collector accepts ~2.8M events/day (peaks 5.1M), persists to Elasticsearch event store (1.8B events, ~690GB), then live-processes updates into Postgres via Kinesis + Lambda while a full reprocessing job (RocksDB/Redis scratch, emit CSV, COPY into Postgres) rebuilds read tables. The pipeline survives spikes, accepts all events reliably, recovers from mistakes by reprocessing, and has run in production for ~18 months without total downtime.

AI-written summary · about

  1. 0:00Introduction to events
  2. 1:16Starting with event sourcing
  3. 2:03Example ticketing system
  4. 5:37Event sourcing rules
  5. 7:23Updating relational database
  6. 7:44Event collector design
  7. 10:15Components overview
  8. 15:18Full reprocessing script
  9. 18:12Live processing with Kinesis
  10. 20:21Event store requirements
  11. 21:46Choosing Elasticsearch
  12. 24:06Elasticsearch scripting
  13. 26:14Kibana for event analysis
  14. 28:00GDPR compliance in event store
  15. 30:29Event store scale numbers
  16. 31:58Production deployment insights
  17. 32:18What not to event source
  18. 35:06Making mistakes safely
  19. 36:55Recovery and reliability
  20. 42:23Sources of inconsistencies
  21. 43:47Event store models
  22. 45:22Integration validations
~/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.