Тёмный

Event Sourcing and CQRS Explained | When should you use them? 

Marco Lenzo
Подписаться 9 тыс.
Просмотров 5 тыс.
50% 1

Опубликовано:

 

2 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 24   
@MarcoLenzo
@MarcoLenzo 10 месяцев назад
Do you have experience with event sourcing and CQRS? Would you recommended it to a fresh software development team? Let us know! 🤓🤓🤓
@uchchhash-dev
@uchchhash-dev 14 дней назад
Great video. Thanks for the precise explanation!!
@MarcoLenzo
@MarcoLenzo 2 дня назад
Thank you!
@marcelobalbuena8990
@marcelobalbuena8990 5 месяцев назад
Good short and still comprehensive summary of this pattern. I will definitely consider your pros and cons in our architecture. Thanks Marco!
@MarcoLenzo
@MarcoLenzo 5 месяцев назад
Thank you Marcelo!
@LawZist
@LawZist 10 месяцев назад
I very much agree with your conclusion! In my company I’m working at, we use event sourcing only for audit and investigation purposes as you mentioned. We still keep records in the “traditional” crud way (we don’t build current state from event sourcing )
@MarcoLenzo
@MarcoLenzo 10 месяцев назад
Thank you very much for taking time to give feedback 🙏
@stanislavstudzinskyi2347
@stanislavstudzinskyi2347 7 месяцев назад
Priceless. Thank you so much, Marco, for your efforts
@MarcoLenzo
@MarcoLenzo 7 месяцев назад
Thank you Stanislav 🙏
@kvieres
@kvieres 10 месяцев назад
Really god information.. totally agree with your conclusion...
@MarcoLenzo
@MarcoLenzo 10 месяцев назад
Thank you
@jwbonnett
@jwbonnett 10 месяцев назад
CQRS can also be strong consistancy, it depends on the architecture of the app, for instance, only replying in the event of completing the data projection write. It can also be done with little delay, pretty much inconceivable to the user and has little effect on the system. It is also not forbidden to modify an event, it's just not recommended due to increased complexity and time burden as it can have a ripple effect for any event that comes after. I would actually recommend using event sourcing, simply due to the fact that you can trade complexity from other things, like database design for new services and features. This is because it is a 100% code first approach. It also matches more closely to a business process, meaning process to code is a lot more simple as you just copy the process rules and can't be accused of not following the business rules.
@MarcoLenzo
@MarcoLenzo 10 месяцев назад
Thank you very much for the feedback! I do have a question (end of this answer). I agree that within the same process, it is possible to have strong consistency very easily. I also agree that you can modify an event. However, I feel you'd be bending the original definition quite a lot since the immutability of events is what gives stronger auditing guarantees compared to other paradigms. If you allowed the event log to be rewritten, it would lose value in that sense. However, it is always a question of what matters the most in your application. The complexity topic is the bit where I am the most torn. I have read in multiple texts that when modeling events (e.g. in event storming) it is easier to keep a direct mapping with the business rules. I can see that. The bit where I get lost is that in my mind, the complexity is shifted further where we materialize events into projections / model / views. Isn't it typical domain modeling still necessary there?
@jwbonnett
@jwbonnett 10 месяцев назад
@@MarcoLenzo It can be done easily even if it is not in the same process, I do it all the time as it doesn't take enough time to warrent eventual consitancy, it's a little more work, though it is worth it for strong consistancy. That is why I said that it is not recommended. Just outright saying it is strict is confusing to beginners, in reality it is just best practice. Projections don't have to be a strict structure, it can still be in the format of a payload, so modeling isn't needed still. This will also mean no mapping to an object before returning. Though I may add you can still map and query quite easily with little overhead, but the point of projections is not to have joins or complex queries due to the overhead they bring.
@MarcoLenzo
@MarcoLenzo 10 месяцев назад
Understood! Thanks a lot for the insight
@josedonato9471
@josedonato9471 8 месяцев назад
Thank you Marco, great video as always
@MarcoLenzo
@MarcoLenzo 8 месяцев назад
Thank you Jose! 🙏
@omidh2007
@omidh2007 9 месяцев назад
Thanks, Marco. The concepts are mentioned clearly and deftly. ✌
@MarcoLenzo
@MarcoLenzo 9 месяцев назад
Thank you! 🙏
@ClaytonTaboneMT
@ClaytonTaboneMT 10 месяцев назад
Another great video! Great and concise explainer on Event Sourcing and CQRS, with a sprinkle of Magic Architecture Dust 😂
@MarcoLenzo
@MarcoLenzo 10 месяцев назад
Lol
@카라멜땅콩-p2p
@카라멜땅콩-p2p 10 месяцев назад
good video
@MarcoLenzo
@MarcoLenzo 10 месяцев назад
🙇 Thank you
Далее
The Onion Architecture EXPLAINED | Should we use it?
13:12
When Goalkeepers Get Bored 🤯 #3
00:27
Просмотров 1,1 млн
Шоколадная девочка
00:23
Просмотров 821 тыс.
Лиса🦊 УЖЕ НА ВСЕХ ПЛОЩАДКАХ!
00:24
When & When Not To Use Event Sourcing
26:30
Event Sourcing • Greg Young • GOTO 2014
54:25
Просмотров 94 тыс.
CQRS pitfalls and patterns - Udi Dahan - NDC Oslo 2023
59:26
A Beginner's Guide to Event-Driven Architecture
37:28
Event Sourcing • Martin Fowler • YOW! 2016
28:06
Просмотров 25 тыс.
Event Sourcing: Rehydrating Aggregates with Snapshots
14:54
When Goalkeepers Get Bored 🤯 #3
00:27
Просмотров 1,1 млн