Oskar Dudycz
@oskardudycz.bsky.social
1.4K followers 560 following 1.1K posts
⚡ Event Sourcerer ✍️ Blogger at http://event-driven.io 👨‍💻 Open Sourcing at https://github.com/oskardudycz 📧 Newsletter: http://architecture-weekly.com
Posts Media Videos Starter Packs
oskardudycz.bsky.social
We're saying that in the event-driven world, events are facts. But that's just half the truth

Events that we store/publish are facts for us, or at least represent the current state of our knowledge

Events from external systems are rumours at best. We need to interpret them to make them (our) facts
oskardudycz.bsky.social
Hip Java coders don't use Impl suffix anymore, they use Default prefix 👌😎
oskardudycz.bsky.social
How to tell that you're using Java without mentioning Java?

I just used DefaultKafkaProducerFactoryCustomizer.
Reposted by Oskar Dudycz
oskardudycz.bsky.social
I packed as many of such cases into our talk and the recording from this year’s @dddeu.bsky.social just arrived: www.youtube.com/watch?v=Lf1M...

I explained the specifics of event modelling (yes, no capital letter, and double l), starting with bad practices and knowing why and how to avoid them

3/
Oskar Dudycz - Event-driven Modelling Anti-Patterns - EventCentric 2025
YouTube video by Aardling
www.youtube.com
oskardudycz.bsky.social
As you saw here, same here! 😂
bsky.app/profile/did:...
oskardudycz.bsky.social
Achievement Unlocked: When you ask LLM to do research while brainstorming, and it asks you back if it can read your own article on this topic 😅
oskardudycz.bsky.social
Have a look on this article: event-driven.io/en/dealing_w...

It can be helpful on how to deal with some of the issues (I explained there how to use revision to resolve some of them).
Dealing with Eventual Consistency and Idempotency in MongoDB projections - Event-Driven.io
Event-Driven by Oskar Dudycz
event-driven.io
oskardudycz.bsky.social
If you don't have global ordering then you need to always think on how to correlate and deal with ordering issues (e.g. you got information that someone booked a room, but you didn't yet have even that the profile was created).Then you usually need to create "phantom records" or aggregate data first
oskardudycz.bsky.social
It's really useful for the multi-stream projections, which are IMHO one of the killer features of Event Sourcing. So think e.g. dashboard, when you're glueing data from multiple places.

I'd assume to have ordering guarantee on the stream level, but global ordering is useful.
oskardudycz.bsky.social
Achievement Unlocked: When you ask LLM to do research while brainstorming, and it asks you back if it can read your own article on this topic 😅
oskardudycz.bsky.social
Btw. about Blumchen and logical replication: if you're using it, then you might not need to store transaction id (as was written in the original article). Logical replication guarantees the ordering respecting commit order (which is not always the same as global architecture ordering).
oskardudycz.bsky.social
I agree, but also building your own is a lot of accidental complexity. My general advice is to really hard evaluate existing solutions before doing your own stuff. Especially subscriptions and projections is hard to get proper guarantees.
Reposted by Oskar Dudycz
flensrocker.de
Spreading my repository everywhere to collect feedback. It's at an early state...

codeberg.org/flensrocker/...
OrleansPlayground
OrleansPlayground
codeberg.org
oskardudycz.bsky.social
Is it a hobby project or a production one? 🙂 (implying: why not Marten? 😅)

You can also check also event-driven.io/en/lets_buil...

And my self-paced kit: github.com/oskardudycz/...

Building a production-grade event store is harder than it seems 🙂 Still, a lot of fun and learning while doing.
Let's build event store in one hour! - Event-Driven.io
Event-Driven by Oskar Dudycz
event-driven.io
oskardudycz.bsky.social
If you like to understand what you're signing for and learn from anti-patterns, then also check this talk:
www.youtube.com/watch?v=0pYm...

(also you'd see my post-covid prime weight 😆)

7/
Light and Dark Side of the Event-Driven Design • Oskar Dudycz • Devoxx Poland 2021
YouTube video by Devoxx Poland
www.youtube.com
oskardudycz.bsky.social
Also, as much some of those cases may seem wild, I can assure you that all of those mistakes I either:
- did by myself,
- saw in my projects,
- saw in my client’s project.

Check it out, why learn always from your mistakes?

Learn from mine.

event-driven.io/en/anti-patt...

6/
Event modelling anti-patterns explained - Event-Driven.io
Event-Driven by Oskar Dudycz
event-driven.io
oskardudycz.bsky.social
I tried to make it both entertaining and educational, bitter and sweet. It is not easy when you’re not a native speaker. There’s a thin line between being funny and being silly.

There’s also a thin line between bad and good practices. And its name is: context.

5/
oskardudycz.bsky.social
I told the story about the project that aimed to modernise legacy software into the event-driven world. In theory, artificial, but in practice, none of the examples were made up. Either I made those mistakes on my own, or I saw them in my projects or helped to fix them for my clients.

4/
oskardudycz.bsky.social
I packed as many of such cases into our talk and the recording from this year’s @dddeu.bsky.social just arrived: www.youtube.com/watch?v=Lf1M...

I explained the specifics of event modelling (yes, no capital letter, and double l), starting with bad practices and knowing why and how to avoid them

3/
Oskar Dudycz - Event-driven Modelling Anti-Patterns - EventCentric 2025
YouTube video by Aardling
www.youtube.com
oskardudycz.bsky.social
There’s a wide range of issues in EDA you may be facing, from overfocusing on the state instead of tracking behaviour, to asking others more often than allowing them to tell you what happened, and ending with race conditions and other unpleasant scenarios.

2/
oskardudycz.bsky.social
I’m always saying that with Event-Driven Architectures, the modelling effort pays back.

That goes both ways: the less effort we put in modelling, the more it’ll hurt later.

1/
oskardudycz.bsky.social
I should also probably dig more and give it more love, tho, as always time is a constraint...