Re:CQRS and Event Sourcing Intro for Developers
by dmitryminkovsky on Wednesday May 22, 2019 @11:13AM
(#19982062)
Thank you! I look forward to checking this out. I'd say the picture painted by Confluent is much rosier than reality, but it definitely is the clearest, most actionable picture to date.
Re:CQRS and Event Sourcing Intro for Developers
by refset on Wednesday May 22, 2019 @11:24AM
(#19982196)
To be specific, the picture I am thinking about in particular is described in a slide titled "Local consistency points in the absence of Global Consistency" (from this talk: https://youtu.be/VYOMmwkdSig?t=1817), where it shows how each local consistency point is ideally implemented using ES/CQRS. I also agree that the tools Confluent are currently providing us with today do not make this trivial.
Edit: the other big picture Confluent quote I like is "You are not building microservices, you are building an inside-out database" (Tim Berglund, Confluent, 2018) which is a perfect answer to this other quote: "The hardest part of microservices is your data" (Christian Posta, Red Hat, 2017)
We created Crux because we found ourselves routinely needing bitemporal functionality when building immutable systems that are capable of ingesting and interpreting out-of-order/late-arriving events [1].
So far we have decided against using Kafka Streams to keep our log-storage options very pluggable, but we pretty much implement the same mechanics.
Disclosure: product manager for Crux :)
[0] https://juxt.pro/crux/index.html
[1] https://juxt.pro/blog/posts/introducing-crux.html