architecture

puppybits 2021-01-13T17:37:47.022100Z

My company is switching our backend from NodeJS to Clojure (on Cloud Run + PubSub + Dataflow). We’ll be using Event Sourcing patterns for our distributed workflow. Does anyone have good resource to help our backend engineers get up to speed on Clojure, Event Sourcing and core.async patterns?

seancorfield 2021-01-13T17:58:07.023800Z

@puppybits Are they all new to Clojure? If so, I'd recommend http://PurelyFunctional.tv subscriptions for everyone -- there are some great courses there, including REPL-Driven Development (a must for all new Clojurians) and two courses on core.async (which I just went through myself -- the second core is all about usage patterns).

seancorfield 2021-01-13T17:59:01.025300Z

Bobby Calderwood has given some great talks on event sourcing and CQRS -- I don't have links but searching for him on YouTube should turn them up.

💯 1
puppybits 2021-01-13T17:59:02.025400Z

I’ve coded in Clojure since 2013 but everyone else is new. (We’re hiring a couple sr. Clojure engineers as well)

2
puppybits 2021-01-13T17:59:40.026600Z

Nice yeah I was going to get some of the purely functional videos for the team.

seancorfield 2021-01-13T18:00:14.027700Z

There are a couple of talks out there about Domain-Driven Design in Clojure everyone should watch as well. Again, I don't have links on hand but Bing should be able to find them.

puppybits 2021-01-13T18:00:18.027900Z

I’ve got links to a lot of Bobby Calderwood’s talk as well. They have been great.

puppybits 2021-01-13T18:00:54.028500Z

I haven’t seen Domain-Driven Design. I’ll check that out. Thanks!

gklijs 2021-01-13T18:13:31.030900Z

I tried some event sourcing in https://github.com/openweb-nl/kafka-graphql-examples. In hindsight there are some ‘flaws’, like the aggregate is also used for the queries. With strict CQRS those should be separated. It’s using Kafka, but only for pubsub purposes.

👍 1
gklijs 2021-01-13T18:19:04.031100Z

He also was a guest at Streaming Audio (Confluent Podcast) twice.