~/talk

From REST to CQRS with Clojure, Kafka, & Datomic

Talkat Clojure/conj 2015 · 2015-11-16..11-18· [microservices, databases]
slides:none on file

Shows a concrete CQRS implementation built with Clojure microservices: a thin HTTP layer that writes domain commands into a Kafka command log, Samza jobs that process pending → accepted/failed streams, and Datomic materialized views queried over HTTP with websocket updates. The client library is three functions (send command, query, subscribe). Demo performs async 202 and optional sync responses, scales reads/writes separately, and replaces hundreds of REST endpoints with three endpoints while preserving audit/replay.

AI-written summary · about

  1. 0:00Intro
  2. 0:58Who am I?
  3. 2:23How to proceed?
  4. 2:55How not to proceed
  5. 3:42Goal
  6. 4:27Organizational Scale
  7. 5:25HTTP API Proliferation
  8. 6:21Teams Reinvent Wheels
  9. 9:03Ideal State
  10. 11:12The Good Parts
  11. 15:10All the cool kids are doing it!
  12. 16:42Back into the Tarpit
  13. 18:26The Kingdom of Nouns for Distributed Systems
  14. 20:54Operationally rigid
  15. 22:41Hard to extend or integrate
  16. 23:47Obscures the story
  17. 24:34What is CQRS?
  18. 25:07CQRS Baggage
  19. 27:08What is Event Sourcing?
  20. 27:54Datomic was CORS+ES before it was cool • Datomic follows a CORS design pattern with Event Sourcing, whence much of the goodness
  21. 28:47Why might I use Event Sourcing?
  22. 32:11Update
  23. 41:50Simplifies Client Development
  24. 42:07Reifies customer intent . Command events are front and center in development
  25. 43:55References and Inspiration
~/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.