Event Driven Architecture - Understanding the Basics

Sdílet
Vložit
  • čas přidán 26. 07. 2024
  • In this video, we will discuss what is Event-Driven Architecture and we will understand the basics of EDA from a complete architectural perspective.
    Content
    0:00 - Introduction
    0:33 - Classical Monolith Architecture
    1:23 - Microservice Architectures
    5:00 - Event-Driven Architecture
    6:40 - Event-Driven Architecture designing
    7:33 - Apache Kafka
    8:20 - Events
    9:19 - Understanding Events
    10:58 - Event Streaming
    11:36 - Producer/Consumer of Events
    13:55 - Real Event-Driven Architecture app (.NET)
    #eventdriven #eventdrivenarchitecture #executeautomation #eda
    For more articles and videos, please follow
    ► [ExecuteAutomation] executeautomation.com
    ► [Twitter] @executeauto
    ► [Subscribe] @Execute Automation
    ► [Udemy] www.udemy.com/user/karthik-kk/
    New Series 2021
    #############
    ► [Microservice Development] • Developing Microservic...
    ► [XUnit with Selenium] • XUnit with Selenium
    ► [Git Basics] • Git Basics - Everyday ...
    ► [SpringBoot for Testing] • Spring Boot for Automa...
    Selenium and C#
    ******************
    ► [C# for automation testing] • C# for Automation Testing
    ► [Selenium with C#] • Introduction to Seleni...
    ► [BDD with Specflow] • BDD and Specflow
    ► [BDD with Selenium] • BDD with Selenium and ...
    ► [Selenium .NET Core] • Playlist
    Selenium &Java
    ******************
    ► [Cucumber with Selenium] • Section 1 - Cucumber w...
    ► [Cucumber with Selenium] • Section 2 - Cucumber W...
    ► [Cucumber 4 Upgrade] • Section 3 - Upgrade to...
    ► [Selenium Grid] • Selenium Grid
    ► [Selenium framework development] • Selenium Framework Des...
    ► [Selenium 4] • Selenium 4
    ► [Selenium Grid with Docker] • Selenium Grid with Docker
    ► [Puppeteer] • Puppeteer
    ► [E2E with Cypress] • Cypress Tidbits
    CI/CD with Microsoft Technologies
    *************************************
    ► [Azure DevOps Service] • Azure DevOps Service 2019
    ► [Automated Build deployment] • Automated Build+Deploy...
    ► [Build + Deploy + Test with Jenkins] • Build+Deploy+Test with...
    Docker & Kubernetes
    ************************
    ► [Understanding ABC of Docker] • Understanding ABC of D...
    ► [Understanding Docker for Windows] • Understanding Docker f...
    ► [Selenium Grid with Docker] • Selenium Grid with Docker
    ► [Kubernetes for Testers] • Kubernetes for Testers
    Mobile Testing
    ****************
    ► [Understanding Appium] • Introduction to Appium...
    ► [Appium with C#] • Introduction to Appium...
    ► [Appium with Java] • Setting stage ready fo...
    ► [Appium with C# (Advanced)] • Introduction to Appium...
    ► [Appium Framework development] • Introduction to appium...
    ► [Mobile Automation testing with Xamarin.UITesting] • Part 1 - Introduction ...
    ► [Android automation with Robotium] • Part1 - Introduction t...
    ► [Flutter app automation with Flutter Driver] • Part 1 - Introduction,...
    ► [TestProject] • TestProject (Basic)
    ► [Katalon Studio] • Katalon Studio
    ► [WinAppDriver] • Windows Application Dr...
    ► [Angular Automation] • Angular automation wit...
    ► [EAWeekly] • Playlist

Komentáře • 41

  • @bottle_money5822
    @bottle_money5822 Před rokem +5

    such a well explained video. only after watching this have i understood the difference between microservice and event driven architecture. extremely clear explanations. thanks for the video

  • @Bozo---
    @Bozo--- Před 2 lety +8

    One thing not well explained in the video is that we should keep in mind that events are sent after the work is done. Or for long running process you can have an event saying processing and another one done (but even here you would probably use a queue). But in most of cases events mean something changed, the subcriber is not the one doing the work, it is doing extra work afterwards. You want the subscriber to read consistent data. (ex. a database)

  • @myprojectideas
    @myprojectideas Před rokem +1

    You speak really well. Thanks for the video.

  • @chigozieG
    @chigozieG Před rokem +1

    You did a great job explaining, thank you!

  • @vinayakpatil4056
    @vinayakpatil4056 Před rokem +1

    Nice, clear and simple explanation. Well done.

  • @swtestacademy5139
    @swtestacademy5139 Před 2 lety +2

    DJ Karthik on air! Starting from 06:43 😃👍🏻

  • @lugojenkins
    @lugojenkins Před 2 lety +1

    Great video, thanks for the good explanation!

  • @felipecastrorichter4520
    @felipecastrorichter4520 Před 2 lety +1

    Thank you! It was a great explanation I learned a lot from this😁

  • @johndesposito2562
    @johndesposito2562 Před rokem

    Thank you for a great explaination.

  • @vijaybabaria3253
    @vijaybabaria3253 Před 2 lety

    Clarifies lot of high level things, thanks

  • @deathmachine808
    @deathmachine808 Před rokem

    Nice one thx. Straight to the point.

  • @ronforeman8394
    @ronforeman8394 Před 2 lety

    Really great video! Thanks bro

  • @hit_me_hamster
    @hit_me_hamster Před rokem +1

    Very good video 👍

  • @sheejacp9659
    @sheejacp9659 Před rokem +1

    Great video😊

  • @UmeshYadav-or6ii
    @UmeshYadav-or6ii Před 2 lety

    Very well explained

  • @antonpotuzhniy2995
    @antonpotuzhniy2995 Před rokem +1

    great explanation

  • @jasminsabanovic869
    @jasminsabanovic869 Před 2 lety

    Great video

  • @sainiranjan40
    @sainiranjan40 Před 2 lety +1

    Thank you very much for another great video, Karthik
    Does memory has any impact while the event is sitting on the topic of the kafka forever ?

  • @afnanalam4023
    @afnanalam4023 Před 2 lety +2

    Thank you sir, very well explanation.. can you tell me which extension are you using in VS code?

  • @KristinaMyLife
    @KristinaMyLife Před 8 měsíci

    Thanks for the video

  • @DuyTran-ss4lu
    @DuyTran-ss4lu Před 2 lety

    Awesome

  • @jatinaneja845
    @jatinaneja845 Před 2 lety +2

    Hi...Well explained....Which tool did you used to create arch diagrams?

  • @litaninja
    @litaninja Před 11 měsíci

    Thank you!

  • @Mari_Selalu_Berbuat_Kebaikan

    Let's always do alot of good ❤️

  • @lobster6238
    @lobster6238 Před rokem +1

    Hey great video, quick question though. If the app/UI is always listening for events to be published, would that also mean that it will have to maintain a open websocket connection with the api? If so, wont this architecture require a open stateful connection for every connected client? Thinking of the increased infrastructure costs with this architecture, if any. Thanks

    • @ChrisAthanas
      @ChrisAthanas Před rokem

      Yes, and these connections can be stored in a service that maps the customer id to the web socket session, using the event bus to initiate messages back to the client via web sockets. Everything is abstracts into these event reactive services so everything can scale, but not for maximum efficiency or even speed.

  • @felipecastrorichter4520
    @felipecastrorichter4520 Před 2 lety +1

    Is the tell/get pattern also known as the pub/sub pattern? Or are they different?

  • @arslan.a
    @arslan.a Před 2 lety +1

    Very well explained
    👍🏻

  • @sharathkumar5791
    @sharathkumar5791 Před 2 lety

    Hi Karthik, Very well explained. Event driven architecture results in "Eventual consistency", so automating at API level becomes challenging at times. So far I used retry to overcome these flaky tests. Any suggestions from your side Karthik.

    • @ExecuteAutomation
      @ExecuteAutomation  Před 2 lety

      Hi Sharath,
      The best way to test the application is to test from the consumer of the event rather than the producer itself. Producer testing will make once again the classical thinking of testing the non-event driven APIs, other way will solve the problem
      Thanks,

  • @vaishalirama
    @vaishalirama Před 2 lety

    wonderful explanation

  • @queenstownswords
    @queenstownswords Před 2 lety

    Hello Karthik, good video. I hope you are well in level 4. I have built a test strategy on a few micro-service orgs now and I am curious what your take is (given the example in this video).

    • @ExecuteAutomation
      @ExecuteAutomation  Před 2 lety

      Hi Mate, Yes L4 is hard, but keeping safe so far ! Hope you are doing safe too.
      Actually, I am planning to create an application on EDA using .NET and also wanted to explain how to test the same. This way, it will be even more better to understand.
      But to your question, the best way to test is to test the consumer rather the producer itself.

  • @KircaTurka
    @KircaTurka Před rokem

    Hi buddy! Thank you for this. What about the data storage, where does that go? So mobile number change event is captured but what where is the mobile number history kept? I.e. at point 1 it was 1234 and was updated to 2345 and so someone can report on the history of the mobile number?

    • @ExecuteAutomation
      @ExecuteAutomation  Před rokem

      It’s all going to be stored in your service DB with before and after event in topic(both old and new number)

  • @willl0014
    @willl0014 Před rokem

    Is like putting a program that you didn't design as the heart of your app

  • @AmNotLegend
    @AmNotLegend Před 2 lety

    if an event not interested by any services, what happens? does it block other events in theQ to be handled by the consumer?

    • @ExecuteAutomation
      @ExecuteAutomation  Před 2 lety +1

      Not at all, it will just sit there and expires

    • @AmNotLegend
      @AmNotLegend Před 2 lety

      @@ExecuteAutomation is this a Queue? consumer polling from head or tail. if an event on head or tail, not consumed, the events behind will have to wait until the one on the top to be consumed?

    • @ExecuteAutomation
      @ExecuteAutomation  Před 2 lety

      @@AmNotLegend yes, but it’s event streaming queue using Kafka or RabbitMQ. It’s not like stuck there until someone consume, if so, there is no point in having this used by multiple services

  • @LazyShady
    @LazyShady Před 2 lety

    wouldn't the producer going down be a single point of failure?