Тёмный

Event Based Architecture: What do you mean by EVENT? 

CodeOpinion
Подписаться 87 тыс.
Просмотров 11 тыс.
50% 1

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

 

15 сен 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 36   
@t529615
@t529615 Год назад
I have been working with event oriented architrctures for almost 10 years, and this is maybe the best explanation of the missconceptions og events i have ever seen. Great Video!
@CodeOpinion
@CodeOpinion Год назад
Thanks!
@adambickford8720
@adambickford8720 2 года назад
Event Carried State Transfer: pass-by-value Event notification: pass-by-reference
@RaveKev
@RaveKev Год назад
I love your videos! I watch them since about 2 years. Some videos i rewatch multiple times, and they get better and better each time i view them, because i digged deeper into that matter.
@CodeOpinion
@CodeOpinion Год назад
Ya there's a thread to a lot of these videos that if you watch others, the picture becomes a bit clearer.
@jeet.prakash
@jeet.prakash 3 года назад
Thank you for that great explainer video, I was always confused between Event and Event Notification.
@CodeOpinion
@CodeOpinion 3 года назад
Glad it helped.
@marna_li
@marna_li 3 года назад
Thank you for all your videos. You are very good at explaining it. I have always been interested in patterns, but never really known when to use them. Currently, I'm working as the only developer building an E-commer/CRM/ERP for a company - a big task for one developer, I know. It started with the Mediator + CQRS patterns. Learned a lot while researching and experimenting in my own projects. Earlier I had been into the service pattern, but that alone has some limitations. It is a lot easier for everybody involved to reason about a project in terms of commands, queries and events.
@CodeOpinion
@CodeOpinion 3 года назад
They are building blocks for sure and can take you down many different paths on how you build a system.
@ebrahimmansur9815
@ebrahimmansur9815 3 года назад
celerity is your strong point ....thanks mate
@thedacian123
@thedacian123 2 года назад
ello.In carried transfer state,how would me managed changing of the state that is beeing transferred?I am thing that the event data is a serialisble dto that might change in time.How will we deal with.? And the second one , a log of events is feasable,in this case, Could help us?Thank you!
@jpclamb
@jpclamb Год назад
Great video
@marna_li
@marna_li 3 года назад
In my own app, in the Inventory context, I ended up creating a ProductQuantityUpdatedEvent containing the ProductId, QuantityAtHand, QuantityReserved, and QuantityAvailable. My thought was to avoid that the dependant domain is making unnecessary requests back for small amounts of data. And the receiver is probably interested in all those fields anyway. The ambition is to keep state transfer at a minimum. Sending just Ids for the most part.
@CodeOpinion
@CodeOpinion 3 года назад
Ya, the issue I've encountered with this is making sure you're only processing the newest message that you know about. Eg, if you have competing consumers, knowing when the event was published because you may be consuming an older message than one you already processed.
@srik790
@srik790 3 года назад
Hey Codeopinion, another masterpiece.. topics you cover are best in class... Just wanted to know how to make data consistency in event carried state transfer.. these are mainly master data... Like product, customer Waiting for a video on how sku will be generated in ui between services and data consistency in case of event carried state transfer....
@CodeOpinion
@CodeOpinion 3 года назад
It's going to be eventually consistent with event carried state transfer.
@4lc0h0l
@4lc0h0l 3 года назад
Concise and great explanation. Subbed :)
@CodeOpinion
@CodeOpinion 3 года назад
Thanks!
@haythambaidda6045
@haythambaidda6045 3 года назад
Nice explanation, keep on.
@jordanwalker7076
@jordanwalker7076 3 года назад
What's the general strategy when you want to perform both business logic AND background tasks/side effects (such as sending emails, notifying websockets etc.) in response to the SAME event, within the same microservice? Would your handler have to perform business logic and also enqueue relevant background tasks, or is there a way to fan out the same event to different handlers within a microservice? Having to enqueue each background task manually seems like coupling, i.e. adding more side effects would mean you have to keep modifying your main business logic handler. Hope this makes sense...
@CodeOpinion
@CodeOpinion 3 года назад
Multiple consumers within the same service. For example, if you published a OrderPlacedEvent and you want to send an email and push info down to a client (websockets). I would have two consumers. One for the email and one for the websockets.
@marna_li
@marna_li 2 года назад
Here I am again, a year later, at a new firm and project. It still seems like Event Based Architectures are not used to its full potential, just sending messages between service. I see a value, when modelling and dealing with complexity, in expressing behavior in code as Events (and Commands), but many still feel comfortable seeing code as services with methods invoking methods in a chain of methods. This still the preferred pattern, and then they complain about complexity being to complicated to manage. I try to be empathetic towards them. I was in this stage as well before dicovering DDD and Event based architecture. I think that journey was what re-kindled my interest for software development - and not just programming. Too bad these skills are not looked for in our otherwise stressful environments.
@marna_li
@marna_li 2 года назад
Big organizations tend to prioritize people who get specific stuff "done" (finishes tasks) rather than those who come with new innovatibve solutions. It is a culture thing that affects all developers - most just get in line and do the minimal needed.
@CodeOpinion
@CodeOpinion 2 года назад
Ya it's pretty tough sometimes without architectural leadership.
@CodeOpinion
@CodeOpinion 2 года назад
Glad to hear it's rekindled your interest though. That's a positive!
@omarbouaouina6649
@omarbouaouina6649 3 года назад
Thank you for this video. I am actually in the middle of my end of curriculum's project, and having issues to figure out how to deal with distributed transactions, most notably when it comes to rolling back in case of a potential error or something of this sort. I was wondering if using events only is enough, or do i need some sort of a workflow engine?
@CodeOpinion
@CodeOpinion 3 года назад
Check out the video I've done on Event Choreography and Orchestration as a way to avoid distributed transactions. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-rO9BXsl4AMQ.html
@MrBa143
@MrBa143 2 года назад
Hi Derek! Imagine i push some changes / new functionality to a boundary, and that boundary now needs a local cache copy of data from another boundary. It will now receive data from that point on and forward, but what if it needs past data aswell? -- Does that indicate a bad design choice, or is there a common practice on how to seed the local cache?
@CodeOpinion
@CodeOpinion 2 года назад
Simply exposing that data somehow by a synchronous call is possible. But more so is why you need that data. It's not bad design that you need it, it depends why you need it. If you want to because it's common data (like a product name) that you want for display purposes, fine. But if it's data you need because it's apart of a command and business logic, that data might be in the wrong place.
@ravipandey2839
@ravipandey2839 3 года назад
Why someone would prefer event as notification over event carried state transfer. Is event carried state transfer not event notification + state. So, do you see any issues if events used for notification also carrying state information or is it more about intent of events.
@CodeOpinion
@CodeOpinion 3 года назад
I'd argue it comes often time down to boundaries. If you're passing a lot of state in messages and you're specifically using them for a local cache, then I'd be curious how your boundaries are defined. I'm not saying it's wrong because there are times where this can be useful pattern, but it probably should be a mix of both or more towards events as notifications. Also calling back to the producer to get more data isn't inherently bad if the action you're trying to perform isn't time sensitive.
@alexanderbikk8055
@alexanderbikk8055 3 года назад
Thanks for the great video. I belive in Azure they call Events with state - Messages. And Events for notifications - Events. Also they said that Message is something that must be processed by consumer. Which actually looks like a Command :) Can we say that Events with state are Messages? I know that both Event and Command are Messages. But I faced Azure confusing terminology. What do you think about it?
@CodeOpinion
@CodeOpinion 3 года назад
Interesting, do you have a link in the Azure docs that mentions this?
@fredimachadonet
@fredimachadonet 2 года назад
Hi Derek, Awesome video! For event carried state transfer, let's say a couple of services need to store some data about customers, but one of the services are down for some reason and missed customer related events for a while. What would be a good way to make sure it gets back in sync when it comes back up? (assuming event sourcing is not being used) Thanks for your content!
@CodeOpinion
@CodeOpinion 2 года назад
You want to have durable messages that don't necessarily have a time to live (or a long one that will work). Just because you can't consume a message because you're offline or there is an error processing it, you won't lose the message per say and will be able to re-consume it.
@fredimachadonet
@fredimachadonet 2 года назад
Yeah, it makes a lot of sense. So in Kafka we could use the offset to continue from where it left off. Thanks!
Далее
УГОСТИЛ БЕЛКУ МОРОЖЕНЫМ#cat #cats
00:14
Microservices with Databases can be challenging...
20:52
Wix.com -  5 Event Driven Architecture Pitfalls!
13:36
Turns out REST APIs weren't the answer (and that's OK!)
10:38
Event Sourcing • Martin Fowler • YOW! 2016
28:06
Просмотров 25 тыс.
Handling Failures in Message Driven Architecture
9:48
УГОСТИЛ БЕЛКУ МОРОЖЕНЫМ#cat #cats
00:14