Building next-gen applications with event-driven architectures | .NET Conf 2023

  Рет қаралды 9,452

dotnet

dotnet

6 ай бұрын

In a world where events shape our interactions, embracing an event-driven mindset empowers innovation and responsiveness at every turn. By leveraging the power of events, businesses can stay ahead of the competition, deliver superior customer value, and achieve long-term success.
In this talk, we will show how to use event-driven architecture to decouple and decentralize application components, promoting modular and independent development, and flexibility in system design. Learn how you can start thinking ""event driven"" as you approach designing your application. We will do a live demo using .NET8 and Azure PaaS services to highlight the immense potential of EDA in its ability to respond in real-time to events occurring in other systems and applications. By understanding the key components and benefits of EDA, you will be equipped to evaluate whether it is the right fit for your organization and empowered to initiate the implementation of event-driven architecture in your systems.
Download .NET 8 - aka.ms/get-dotnet-8
Hack Together - aka.ms/hacktogether/dotnet
Learn collection - aka.ms/learn-dotnet-8
.NET 8 Survey - aka.ms/dotnet-survey
Local Events - aka.ms/dotnetconf-local-event
Hero blog - aka.ms/dotnet8blog
Blog: aka.ms/dotnet/blog
Twitter: aka.ms/dotnet/twitter
TikTok: aka.ms/dotnet/tiktok
Mastodon: aka.ms/dotnet/mastodon
LinkedIn: aka.ms/dotnet/linkedin
Facebook: aka.ms/dotnet/facebook
Docs: learn.microsoft.com/dotnet
Forums: aka.ms/dotnet/forums
🙋‍♀️Q&A: aka.ms/dotnet-qa
👨‍🎓Microsoft Learn: aka.ms/learndotnet
#dotnet

Пікірлер: 19
@pavellepin
@pavellepin 6 ай бұрын
It would be great if you mentioned the cons of the architecture as well. For example it won't work well for stateful sequential applications. When you suggest using a DB trigger - please also mention that a trigger is not aware of the source of the changes. In general, it is not a good practice to use it for business logic, as let's say some maintaining operations _could_ trigger unexpected actions.
@pavellepin
@pavellepin 6 ай бұрын
There is a missing "web" prefix in the caption. I mean event driven architecture for other platforms (like desktop apps) could be something similar (as the idea is the same), but building details are different.
@acodersjourney
@acodersjourney 6 ай бұрын
Your expertise is evident in your content. Keep it up!
@TeenaIdnani
@TeenaIdnani 6 ай бұрын
Thank you
@paymantatar4726
@paymantatar4726 6 ай бұрын
Hey, Nice work. ✌
@TeenaIdnani
@TeenaIdnani 6 ай бұрын
Thanks, There is a QR Code for the demo source code right at the end of the session. That has the github repo link.
@renatorfr
@renatorfr 5 ай бұрын
Hi, thanks for the presentation :) If you need save the Order in a relational database, would you do it before creating the event or as an event subscriber?
@davidantolingonzalez4929
@davidantolingonzalez4929 5 ай бұрын
In the scenario that the subscriber is down (or previous to the first time is up because it is a new service) how can it process all the events sent in the meantime? In the sample scenario, if the shipping service is down when the order service sends the order created event, it needs to process that event even if shipping has been down for a long time.
@andybout5139
@andybout5139 6 ай бұрын
Hi Teena, I am struggling with one aspect of event driven architectures. If a process fails because of a business data issue (i.e. customer credit status not entered as an example) and want to rerun the process that failed caused by the event (perhaps other process could run) how is that managed. The only way I can see that working is to have a boolean flag that some other process or a user updates when the data condition is corrected and the event is activated but it would only be for certain processes. Not sure how event driven architectures handle this.
@pavellepin
@pavellepin 6 ай бұрын
As mentioned in the presentation, consumers subscribe to completed events. Events can be "positive", like PaymentCompleted, or negative like PaimentFailed. So if something happened during a business process, it should be handled by a service responsible for retry/recovery (if recovery is possible). In a clean architecture, all events are one-way and if a feedback/result is needed, the sender should subscribe to a correspondent event (which in its turn will have information about initial event's result).
@Alyssa669
@Alyssa669 6 ай бұрын
Hey, great presentation. How would you handle the dead letter events in your design?
@TeenaIdnani
@TeenaIdnani 6 ай бұрын
In this design, we handle dead letter events by setting up a dead letter queue/topic for events that fail processing. And then based on the eventId and other parameters, replay the events that are required by triggering an update in the original event stored in the event store (Azure CosmosDB) which would then retrigger the event handler to process the failed event.
@Alyssa669
@Alyssa669 6 ай бұрын
@@TeenaIdnani awesome, this design would have solved so many problems that I encountered while processing of the failed events. Thank you so much for sharing.
@ViniciuxMariano
@ViniciuxMariano 6 ай бұрын
Nice content, but very bad quality audio.
@TeenaIdnani
@TeenaIdnani 6 ай бұрын
Oh! I am sorry that you are facing the audio issue
@omuleanu
@omuleanu 6 ай бұрын
@@TeenaIdnaniit's not him specifically that's facing the problem, the audio is like you constantly enter and exit a tunnel; a better mic for the future would be nice
@Taka-ov4fd
@Taka-ov4fd 6 ай бұрын
Great session! I have one question. In this session you mentioned that event design is very important. I assume by event design you mean event modeling, How do you do event modeling? Do you write about how you do it in some blog or present it in some other video?
@TeenaIdnani
@TeenaIdnani 6 ай бұрын
Great question! Event modeling and design is a crucial aspect when building effective event-driven integrations and architectures! It requires understanding consumers, mapping system state changes, creating expressive event types, building targeted payloads, and augmenting with descriptive context. I'm planning a full blog post to detail my process soon, Please stay tuned and let me know if any other event modeling questions!
@pascalsi1
@pascalsi1 5 ай бұрын
Nice to see that IT people noticed that the world is mostly event driven and not service driven. I work in the industrial automation OT (Operation technology) and we know the world is event driven for more than 30 years. An industrial robot accepts commands and provides notifications. We do this with MQTT and Kafka. Even our Web application for process visualization does not use HTTP/REST web services, but is MQTT event driven with PAHO. Azure event hub is by far too complicated and does not fit our needs
Use C# with Godot to make Games! | .NET Conf 2023
23:49
dotnet
Рет қаралды 9 М.
Don't eat centipede 🪱😂
00:19
Nadir Sailov
Рет қаралды 23 МЛН
Dynamic #gadgets for math genius! #maths
00:29
FLIP FLOP Hacks
Рет қаралды 17 МЛН
I Need Your Help..
00:33
Stokes Twins
Рет қаралды 89 МЛН
[柴犬ASMR]曼玉Manyu&小白Bai 毛发护理Spa asmr
01:00
是曼玉不是鳗鱼
Рет қаралды 43 МЛН
Unlocking Data Insights
34:41
7117 Studios
Рет қаралды 48
Blazor Render Modes in .NET 8 and which Web App Template to choose
28:51
Modernizing Rx.NET | .NET Conf 2023
28:44
dotnet
Рет қаралды 7 М.
What's New in C# 12 | .NET Conf 2023
35:28
dotnet
Рет қаралды 53 М.
What is Event Driven Architecture (EDA)?
12:10
IBM Technology
Рет қаралды 176 М.
A Beginner's Guide to Event-Driven Architecture
37:28
Software Developer Diaries
Рет қаралды 3,2 М.
.NET Containers advancements in .NET 8 | .NET Conf 2023
25:38
Трагичная История Девушки 😱🔥
0:58
Смотри Под Чаёк
Рет қаралды 368 М.
Xiaomi Note 13 Pro по безумной цене в России
0:43
Простые Технологии
Рет қаралды 1,8 МЛН
XL-Power Best For Audio Call 📞 Mobile 📱
0:42
Tech Official
Рет қаралды 772 М.
С Какой Высоты Разобьётся NOKIA3310 ?!😳
0:43