SlideShare a Scribd company logo
1 of 20
What is Software Architecture?
Architecture serves as a blueprint for a system. It provides an abstraction to manage
the system complexity and establish a communication and coordination mechanism
among components.
•It defines a structured solution to meet all the technical and operational
requirements, while optimizing the common quality attributes like performance and
security.
These Architecture decisions includes −
• Selection of structural elements and their interfaces by which the system is
composed.
• Behavior as specified in collaborations among those elements.
• Composition of these structural and behavioral elements into large subsystem.
• Architectural decisions align with business objectives.
Event Driven Architecture
An event-driven architecture consists of event producers that generate a stream of
events, and event consumers that listen for the events.
The event-driven architecture helps manage this by building a central unit that accepts all data
and then delegates it to the separate modules that handle the particular type. This handoff is
said to generate an “event,” and it is delegated to the code assigned to that type.
Suitable for Use case:
•Asynchronous systems with asynchronous data flow
•IOT applications
•Healthcare
•Online Banking
Event Driven Architecture
Event-driven architecture is a design model that connects distributed
software systems and allows for efficient communication. EDA makes it
information in real time or near real time. It is common in designing apps
on microservices (when every service runs its own process.).
Publish/subscribe is a flexible messaging pattern that allows disparate
system components to interact with one another asynchronously.
An event driven architecture can use -
•Pub/Sub Model: The messaging infrastructure keeps track of
subscriptions. When an event is published, it sends the event to each
subscriber. After an event is received, it cannot be replayed, and new
subscribers do not see the event.
•Event streaming Model: Events are written to a log. Events are
strictly ordered (within a partition) and durable. Clients don't
subscribe to the stream, instead a client can read from any part of the
stream. The client is responsible for advancing its position in the
stream. That means a client can join at any time, and can replay
events.
Event Driven Architecture
An event is a state change or an update within the system that triggers the
can be anything from a transaction and sensor input to a mouse click and a
may vary in complexity and size and originate from both internal and
When to use this architecture
•Multiple subsystems must process the same events.
•Real-time processing with minimum time lag.
•Complex event processing, such as pattern matching or aggregation
over time windows.
•High volume and high velocity of data, such as IoT.
Event Based Architecture
Event-based architectures usually comprise three core components:
•event producers that generate or detect events and transmit them to event
them to event managers;
•event managers that act as middleware and are responsible for asynchronous
asynchronous filtering, processing, and routing of received events; and
•event consumers that receive events and act on them.
Principles of Event Driven Architecture
Scalability. EDAs allow for great horizontal scalability as one
event may trigger responses from multiple systems with
different results.
Loose coupling. Producers and consumers are unaware of each
other. There is an intermediary that receives events, processes
them to the systems interested in specific events. This allows
services and facilitates their modifying, testing, and
point system integrations, components can be easily added to
system.
Principles of Event Driven Architecture
Asynchronous eventing. Event notifications are broadcast
asynchronously, meaning events are published as they happen.
consume or process a published event later if it’s unavailable.
block a producing service.
Fault tolerance. Owing to systems being loosely coupled, the
failure of one won’t make any difference to the working of
Benefits of this Architecture
•Producers and consumers are decoupled.
•No point-to-point integrations. It's easy to add new consumers to the
system.
•Consumers can respond to events immediately as they arrive.
•Highly scalable and distributed.
•Subsystems have independent views of the event stream.
Challenges of EDA
•Guaranteed delivery. In some systems, especially in IoT scenarios, it's
crucial to guarantee that events are delivered.
•Processing events in order or exactly once. Each consumer type
typically runs in multiple instances, for resiliency and scalability. This
can create a challenge if the events must be processed in order (within
a consumer type), or if the processing logic is not idempotent.
Tools used for EDA
ActiveMQ is a flexible, open-source message broker presented
by Apache Software Foundation. It provides the functionality of
messaging through topics between multiple producers and
relatively easy to deploy in complex structures; the system
and great reliability.
Redis is an open-source, in-memory data structure store used
as a message broker and a database. Redis is also a popular
applications, enabling processing millions of requests.
Tools used for EDA
Apache Kafka is the heavyweight in the world of distributed data
streaming. The open-source platform allows for publishing, storing,
subscribed to the streams of events in real time. Kafka provides its
scalable, fault-tolerant, and secure fashion, allowing for handling trillions
it can be deployed on-premises and in the cloud.
Pulsar is another Apache family system for distributed publish/subscribe
messaging. Initially designed as a message queuing system, Pulsar has
functionality in recent releases. Highly scalable, the system isolates
operations and allows for flexible messaging models.
THANK YOU
Like the Video and Subscribe the Channel

More Related Content

What's hot

Event Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
Event Driven Architecture (EDA) Reference Architecture | Anbu KrishnaswamyEvent Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
Event Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
Bob Rhubart
 
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Kai Wähner
 

What's hot (20)

Event-Driven Transformation in Banking and FSI
Event-Driven Transformation in Banking and FSIEvent-Driven Transformation in Banking and FSI
Event-Driven Transformation in Banking and FSI
 
Event Driven Architecture (EDA) Reference Architecture
Event Driven Architecture (EDA) Reference ArchitectureEvent Driven Architecture (EDA) Reference Architecture
Event Driven Architecture (EDA) Reference Architecture
 
Event Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQEvent Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQ
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Event Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
Event Driven Architecture (EDA) Reference Architecture | Anbu KrishnaswamyEvent Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
Event Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
 
Introduction to Event Driven Architecture
Introduction to Event Driven ArchitectureIntroduction to Event Driven Architecture
Introduction to Event Driven Architecture
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
Event-driven microservices
Event-driven microservicesEvent-driven microservices
Event-driven microservices
 
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
 
Apache Kafka in Financial Services - Use Cases and Architectures
Apache Kafka in Financial Services - Use Cases and ArchitecturesApache Kafka in Financial Services - Use Cases and Architectures
Apache Kafka in Financial Services - Use Cases and Architectures
 
Event driven microservices
Event driven microservicesEvent driven microservices
Event driven microservices
 
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
 
Event Driven Microservices architecture
Event Driven Microservices architectureEvent Driven Microservices architecture
Event Driven Microservices architecture
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache KafkaReal-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
When NOT to use Apache Kafka?
When NOT to use Apache Kafka?When NOT to use Apache Kafka?
When NOT to use Apache Kafka?
 
Microservices
Microservices Microservices
Microservices
 

Similar to Event Driven Software Architecture Pattern

1. Overview of Distributed Systems
1. Overview of Distributed Systems1. Overview of Distributed Systems
1. Overview of Distributed Systems
Daminda Herath
 
Introduction to Cloud Native Computing
Introduction to Cloud Native ComputingIntroduction to Cloud Native Computing
Introduction to Cloud Native Computing
Saju Thomas
 

Similar to Event Driven Software Architecture Pattern (20)

apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
 
Top 5 Software Architecture Pattern Event Driven SOA Microservice Serverless ...
Top 5 Software Architecture Pattern Event Driven SOA Microservice Serverless ...Top 5 Software Architecture Pattern Event Driven SOA Microservice Serverless ...
Top 5 Software Architecture Pattern Event Driven SOA Microservice Serverless ...
 
Event-Driven Serverless Architecture - the next big thing in the cloud (Cleme...
Event-Driven Serverless Architecture - the next big thing in the cloud (Cleme...Event-Driven Serverless Architecture - the next big thing in the cloud (Cleme...
Event-Driven Serverless Architecture - the next big thing in the cloud (Cleme...
 
The Significant role of event driven apps in software development
The Significant role of event driven apps in software development					The Significant role of event driven apps in software development
The Significant role of event driven apps in software development
 
Distributed Operating System
Distributed Operating SystemDistributed Operating System
Distributed Operating System
 
1. Overview of Distributed Systems
1. Overview of Distributed Systems1. Overview of Distributed Systems
1. Overview of Distributed Systems
 
Distributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingDistributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server Computing
 
Chapeter 2 introduction to cloud computing
Chapeter 2   introduction to cloud computingChapeter 2   introduction to cloud computing
Chapeter 2 introduction to cloud computing
 
Chapter Introductionn to distributed system .pptx
Chapter Introductionn to distributed system .pptxChapter Introductionn to distributed system .pptx
Chapter Introductionn to distributed system .pptx
 
JS Fest 2019/Autumn. Anton Cherednikov. Choreographic or orchestral architect...
JS Fest 2019/Autumn. Anton Cherednikov. Choreographic or orchestral architect...JS Fest 2019/Autumn. Anton Cherednikov. Choreographic or orchestral architect...
JS Fest 2019/Autumn. Anton Cherednikov. Choreographic or orchestral architect...
 
Saga transactions msa_ architecture
Saga transactions msa_ architectureSaga transactions msa_ architecture
Saga transactions msa_ architecture
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Designing distributed systems
Designing distributed systemsDesigning distributed systems
Designing distributed systems
 
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
 
Unit5-Cloud.pptx for lpu course cse121 o
Unit5-Cloud.pptx for lpu course cse121 oUnit5-Cloud.pptx for lpu course cse121 o
Unit5-Cloud.pptx for lpu course cse121 o
 
Basic features of distributed system
Basic features of distributed systemBasic features of distributed system
Basic features of distributed system
 
Introduction to Cloud Native Computing
Introduction to Cloud Native ComputingIntroduction to Cloud Native Computing
Introduction to Cloud Native Computing
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
unit 4-1.pptx
unit 4-1.pptxunit 4-1.pptx
unit 4-1.pptx
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 

More from jeetendra mandal

More from jeetendra mandal (20)

what is OSI model
what is OSI modelwhat is OSI model
what is OSI model
 
What is AWS Cloud Watch
What is AWS Cloud WatchWhat is AWS Cloud Watch
What is AWS Cloud Watch
 
What is AWS Fargate
What is AWS FargateWhat is AWS Fargate
What is AWS Fargate
 
Eventual consistency vs Strong consistency what is the difference
Eventual consistency vs Strong consistency what is the differenceEventual consistency vs Strong consistency what is the difference
Eventual consistency vs Strong consistency what is the difference
 
Batch Processing vs Stream Processing Difference
Batch Processing vs Stream Processing DifferenceBatch Processing vs Stream Processing Difference
Batch Processing vs Stream Processing Difference
 
Difference between Database vs Data Warehouse vs Data Lake
Difference between Database vs Data Warehouse vs Data LakeDifference between Database vs Data Warehouse vs Data Lake
Difference between Database vs Data Warehouse vs Data Lake
 
Difference between Client Polling vs Server Push vs Websocket vs Long Polling
Difference between Client Polling vs Server Push vs Websocket vs Long PollingDifference between Client Polling vs Server Push vs Websocket vs Long Polling
Difference between Client Polling vs Server Push vs Websocket vs Long Polling
 
Difference between TLS 1.2 vs TLS 1.3 and tutorial of TLS2 and TLS2 version c...
Difference between TLS 1.2 vs TLS 1.3 and tutorial of TLS2 and TLS2 version c...Difference between TLS 1.2 vs TLS 1.3 and tutorial of TLS2 and TLS2 version c...
Difference between TLS 1.2 vs TLS 1.3 and tutorial of TLS2 and TLS2 version c...
 
Difference Program vs Process vs Thread
Difference Program vs Process vs ThreadDifference Program vs Process vs Thread
Difference Program vs Process vs Thread
 
Carrier Advice for a JAVA Developer How to Become a Java Programmer
Carrier Advice for a JAVA Developer How to Become a Java ProgrammerCarrier Advice for a JAVA Developer How to Become a Java Programmer
Carrier Advice for a JAVA Developer How to Become a Java Programmer
 
How to become a Software Tester Carrier Path for Software Quality Tester
How to become a Software Tester Carrier Path for Software Quality TesterHow to become a Software Tester Carrier Path for Software Quality Tester
How to become a Software Tester Carrier Path for Software Quality Tester
 
How to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software DeveloperHow to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software Developer
 
Events vs Notifications
Events vs NotificationsEvents vs Notifications
Events vs Notifications
 
Microservice Architecture Software Architecture Microservice Design Pattern
Microservice Architecture Software Architecture Microservice Design PatternMicroservice Architecture Software Architecture Microservice Design Pattern
Microservice Architecture Software Architecture Microservice Design Pattern
 
Observability vs APM vs Monitoring Comparison
Observability vs APM vs  Monitoring ComparisonObservability vs APM vs  Monitoring Comparison
Observability vs APM vs Monitoring Comparison
 
Disaster Recovery vs Data Backup what is the difference
Disaster Recovery vs Data Backup what is the differenceDisaster Recovery vs Data Backup what is the difference
Disaster Recovery vs Data Backup what is the difference
 
What is Spinnaker? Spinnaker tutorial
What is Spinnaker? Spinnaker tutorialWhat is Spinnaker? Spinnaker tutorial
What is Spinnaker? Spinnaker tutorial
 
Difference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs BitbucketDifference between Github vs Gitlab vs Bitbucket
Difference between Github vs Gitlab vs Bitbucket
 
Difference between Git and Github
Difference between Git and GithubDifference between Git and Github
Difference between Git and Github
 
Kubernates vs Openshift: What is the difference and comparison between Opensh...
Kubernates vs Openshift: What is the difference and comparison between Opensh...Kubernates vs Openshift: What is the difference and comparison between Opensh...
Kubernates vs Openshift: What is the difference and comparison between Opensh...
 

Recently uploaded

Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Lisi Hocke
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
drm1699
 

Recently uploaded (20)

Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea Goulet
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...
 
Novo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNovo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMs
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmux
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptxFrom Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeCon
 
Software Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringSoftware Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements Engineering
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
 

Event Driven Software Architecture Pattern

  • 1.
  • 2. What is Software Architecture? Architecture serves as a blueprint for a system. It provides an abstraction to manage the system complexity and establish a communication and coordination mechanism among components. •It defines a structured solution to meet all the technical and operational requirements, while optimizing the common quality attributes like performance and security. These Architecture decisions includes − • Selection of structural elements and their interfaces by which the system is composed. • Behavior as specified in collaborations among those elements. • Composition of these structural and behavioral elements into large subsystem. • Architectural decisions align with business objectives.
  • 3. Event Driven Architecture An event-driven architecture consists of event producers that generate a stream of events, and event consumers that listen for the events. The event-driven architecture helps manage this by building a central unit that accepts all data and then delegates it to the separate modules that handle the particular type. This handoff is said to generate an “event,” and it is delegated to the code assigned to that type. Suitable for Use case: •Asynchronous systems with asynchronous data flow •IOT applications •Healthcare •Online Banking
  • 4.
  • 5. Event Driven Architecture Event-driven architecture is a design model that connects distributed software systems and allows for efficient communication. EDA makes it information in real time or near real time. It is common in designing apps on microservices (when every service runs its own process.). Publish/subscribe is a flexible messaging pattern that allows disparate system components to interact with one another asynchronously.
  • 6.
  • 7. An event driven architecture can use - •Pub/Sub Model: The messaging infrastructure keeps track of subscriptions. When an event is published, it sends the event to each subscriber. After an event is received, it cannot be replayed, and new subscribers do not see the event. •Event streaming Model: Events are written to a log. Events are strictly ordered (within a partition) and durable. Clients don't subscribe to the stream, instead a client can read from any part of the stream. The client is responsible for advancing its position in the stream. That means a client can join at any time, and can replay events.
  • 8.
  • 9. Event Driven Architecture An event is a state change or an update within the system that triggers the can be anything from a transaction and sensor input to a mouse click and a may vary in complexity and size and originate from both internal and
  • 10.
  • 11. When to use this architecture •Multiple subsystems must process the same events. •Real-time processing with minimum time lag. •Complex event processing, such as pattern matching or aggregation over time windows. •High volume and high velocity of data, such as IoT.
  • 12. Event Based Architecture Event-based architectures usually comprise three core components: •event producers that generate or detect events and transmit them to event them to event managers; •event managers that act as middleware and are responsible for asynchronous asynchronous filtering, processing, and routing of received events; and •event consumers that receive events and act on them.
  • 13.
  • 14. Principles of Event Driven Architecture Scalability. EDAs allow for great horizontal scalability as one event may trigger responses from multiple systems with different results. Loose coupling. Producers and consumers are unaware of each other. There is an intermediary that receives events, processes them to the systems interested in specific events. This allows services and facilitates their modifying, testing, and point system integrations, components can be easily added to system.
  • 15. Principles of Event Driven Architecture Asynchronous eventing. Event notifications are broadcast asynchronously, meaning events are published as they happen. consume or process a published event later if it’s unavailable. block a producing service. Fault tolerance. Owing to systems being loosely coupled, the failure of one won’t make any difference to the working of
  • 16. Benefits of this Architecture •Producers and consumers are decoupled. •No point-to-point integrations. It's easy to add new consumers to the system. •Consumers can respond to events immediately as they arrive. •Highly scalable and distributed. •Subsystems have independent views of the event stream.
  • 17. Challenges of EDA •Guaranteed delivery. In some systems, especially in IoT scenarios, it's crucial to guarantee that events are delivered. •Processing events in order or exactly once. Each consumer type typically runs in multiple instances, for resiliency and scalability. This can create a challenge if the events must be processed in order (within a consumer type), or if the processing logic is not idempotent.
  • 18. Tools used for EDA ActiveMQ is a flexible, open-source message broker presented by Apache Software Foundation. It provides the functionality of messaging through topics between multiple producers and relatively easy to deploy in complex structures; the system and great reliability. Redis is an open-source, in-memory data structure store used as a message broker and a database. Redis is also a popular applications, enabling processing millions of requests.
  • 19. Tools used for EDA Apache Kafka is the heavyweight in the world of distributed data streaming. The open-source platform allows for publishing, storing, subscribed to the streams of events in real time. Kafka provides its scalable, fault-tolerant, and secure fashion, allowing for handling trillions it can be deployed on-premises and in the cloud. Pulsar is another Apache family system for distributed publish/subscribe messaging. Initially designed as a message queuing system, Pulsar has functionality in recent releases. Highly scalable, the system isolates operations and allows for flexible messaging models.
  • 20. THANK YOU Like the Video and Subscribe the Channel