CQRS & event sourcing are currently very popular topics in the PHP community, with good reason. However, most blogs and talks
focus on the theory, simple applications or introductions to one of the frameworks currently available, not necessarily the
challenges of using and maintaining it in production.

This session bridges that gap and looks at some of the pitfalls of a real-world deployment. I’ll discuss topics like
concurrency & scale, refactoring events and updating read models. Attend this talk to learn from my experiences and be better
prepared when you face these challenges.


Comments are closed.

Van Belle Jonathan (Grummfy) at 11:07 on 28 Jan 2017

thanks, very clear not so practical as I was expected but far more practical from what I have seen until now. the talk could be probably improved with more practical example. but otherwise thanks

Thanks for the useful feedback

Good overview of the problems and frameworks out there

Nice to learn about some pitfalls from the real-world...

Made us (our team) even more enthusiastic to start implementing ES/CQRS, but also gave us a reminder to really think this thru beforehand!

Robert Basic at 23:00 on 28 Jan 2017

I really enjoyed the real life look at cqrs and event sourcing, all the problems that can come up and all the different ways to handle the problems, especially that the speaker comes from a non-PHP community and has a better overview of the state of things.

One of the best talks on #phpbnl17.

Mariusz Gil at 10:15 on 29 Jan 2017

Very interesting talk, because it was based on speaker experience from many real-life projects. Extra points for providing to us informations about "why we should be careful" in some situations, because ES/CQRS is not the silver-bullet for every problem. Speakers skills on very high level.

Well done, Michiel!

Great talk on this topic!
Content was clear, concise and I learned a lot of new things.

I am going to perfectly honest , and please .. do not take this the wrong way :) .

You lost me a bit around the 10 minute mark and never succeeded in reeling me back in, so to speak. This is probably more my fault than anyone else's (tiredness), but I left the talk at the end feeling like it could be more interesting.

As I said, don't get me wrong : you are a good speaker and the subject itself is not a very easy one to even provide a talk about , but I felt like it was too theoretical and lacking good practical examples. The fact that the PHP packages you mentioned are not well supported (maintained) also left me wondering why I should even bother with the concepts.

However, I did put "Lookup this stuff on the internet and decide then" in my personal notes about this talk, so you DID raise my interest in CQRS and Event Sourcing, so that's a good thing :)

I hope you find this feedback useful, should you have further questions, feel free to contact me .

Michiel Rook (Speaker) at 14:42 on 29 Jan 2017

@Bert, thank you for your feedback!

I'm sorry I lost you during the talk. I understand it's a daunting subject and there's a lot to take in.

I'll see what I can do with respect to more practical examples. I do believe the theory behind these concepts is useful (perhaps even necessary) to explain.

As for the PHP packages, sorry for not being clear enough! Both packages aren't abandoned, the broadway package lacks certain features and doesn't seem to be moving significantly. Prooph is under active development.

Very good talk, easy to understand! The presentation gave a lot of pointers to get start thinking about how to do event sourcing as well how to improve current implementations. Michiel gave a lot off insights on the pro's and cons of cqrs combined with event sourcing, the pitfalls and possible solutions.

Muhammed at 22:48 on 29 Jan 2017


In general a very good talk and well delivered. The other side of the medal really needed to be shown too.

But from my hands-on experience with CQRS and ES, there were some points where you see problems that don't occur often in real life (eg. I still need to meet the first person that *needs* snapshotting...) This should be mentioned too.
What I also missed a bit: focus on the domains at hand. Aggregate size can e.g. by limiting aggregate lifetime or boundaries.

Hans Dubois at 09:12 on 30 Jan 2017

Great talk! I love the fact you clearly explained the pitfalls of the event sourcing process.

Got some good pointers on how to approach issue we are experiencing right now!