Skip to content
0:00 / 0:00

#cqrs#kafka#datomic

From REST to CQRS with Clojure, Kafka, & Datomic - Bobby Calderwood

ClojureTV

111K subscribers • 158 videos on Hallway

YouTube
  • Recommended by 2 people: 1 in engineering communities and 1 curated list.
  • Presented by Bobby Calderwood
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

28K views10 years ago2 recommendations

Distributed systemsDatabases and dataSoftware architectureEvent-driven systems and messagingLisp and Clojure

Bobby Calderwood discusses the advantages of CQRS and event sourcing over CRUD-flavored REST, demonstrating an implementation using Clojure, Kafka, and Datomic.

Have you ever hit a wall with REST? Does modeling your problem domain into CRUD-able entities feel like fitting a square peg into a round hole? Have you ever tried implementing a PATCH request (without going crazy), or debated PUT vs. POST for resource updates? An alternative to CRUD-flavored REST is CQRS (Command and Query Responsibility Segregation). In this talk, I'll discuss the advantages and trade-offs of CQRS (and its cousin, Event Sourcing), and demonstrate them using an implementation of CQRS based on Clojure microservices, Kafka, and Datomic. These advantages include: Operational simplicity, flexibility, and extensibility Applying Clojure's sound model of state transitions to the resources exposed by your web application Simplified client implementation BONUS: We'll even be able to keep the best parts of REST! I'll also discuss how this technique dovetails nicely with other good ideas in the Clojure community like the design of Datomic and the ideas behind Om.Next. About the speaker: Bobby is a member of the Technology Fellows team at Capital One, where he designs and develops solutions to difficult problems, influences the technical direction of Capital One while helping development teams implement that technical direction, and engages the broader technical community via speaking and open-source contribution.

Why it's here

2 people recommend this

What people say. Recommended as an excellent introduction to CQRS and event sourcing architectures using Clojure.

Moments people linked to

u/dustingetzin r/Clojure • Recommends

From REST to CQRS with Clojure, Kafka, & Datomic - Bobby Calderwood

programming-talkscurated list on GitHubRecommends

Under “Clojure”

From REST to CQRS with Clojure, Kafka, & Datomic 00:44:24 by **Bobby Calderwood** (2015)

u/MindOfJayin r/Clojure • Mentions

On “What does your dream Clojure stack look like?”

I'm working on that right now! I'm building an Event Sourced system heavily inspired by two talks^1. Backend: * "Servers": Lambda + Lambada + Amazonica for bits of functionality. * Configuration store: S3, DynamoDB * Routing: API Gateway * Messaging: SNS * Stores: Postgres + HoneySQL (Event store and Materialized View store), DynamoDB + Faraday for misc. * IAM roles EVERYWHERE! Front end (still in heavy development): * Reagent * Hiccup * Custom sync engine for events to/from the server * Serve from S3 bucket From my experience so far, Lambdas allow me to hoist the "generic" webserver stuff (routing, auth(z), etc) out of the microservices themselves and onto AWS primitives, making them f…

u/ElQuiquein r/Clojure • Mentions

On “New Clojurians: Ask Anything”

Hi! I'm not a native English speaker so I'm struggling to understand what is said in this old talk. Here's the Youtube link with the proper time [video He says 'You can slap Zul? in front of it' according to transcription. Is that the word? I would like to know what technology/software he's referring to. Thanks!
1View on Reddit