News for hackers. Stuff that matters.
Re:The Reactive Monolith – How to Move from CRUD to Event So... by holoduke on Thursday September 30, 2021 @02:54AM (#28703853)
Could you elaborate how you solve transaction, double writes , deadlocks. I mean the consumers do still process messages in parallel right? Or do you force a serial pipeline to avoid handling messages at the same time? I thought that EV is more about creating entire separate entities/codebase which have zero dependencies.
Re:The Reactive Monolith – How to Move from CRUD to Event So... by lmm on Thursday September 30, 2021 @04:29AM (#28704245)
> I mean the consumers do still process messages in parallel right? Or do you force a serial pipeline to avoid handling messages at the same time?

Generally I follow the Kafka approach of, essentially, shards that are each processed serially. So unrelated messages may be processed out of order, but related messages will be processed serially.

If you don't have a good enough key, or you need to join two streams, then you have to use CRDTs or equivalent. This can be hard, and you will have bugs, but since you retain the original events, you can always fix things up and recover the correct data, whereas when you get an SQL datastore into an inconsistent state you're generally SOL.

Re:The Reactive Monolith – How to Move from CRUD to Event So... by randolorian on Thursday September 30, 2021 @03:36AM (#28704018)
A proper event storage solution will have optimistic concurrency built in.